我想使用在组件1中搜索的数据(该页面允许您搜索食谱,然后提供带有名称成分和说明的食谱),并在第2页中使用该数据(允许您查看食谱,然后在商店API中搜索成分)
App.js
class App extends Component {
render() {
return(
<Router>
<div>
<Route exact path = '/' component = {Search}/>
<Route exact path = '/shopping/' component = {Store}/>
</div>
</Router>
)
}
}
export default App;
Class Component 1
class Search extends Component {
state = {
drinks: [],
userInput: "",
selectedDrink: null,
recipeName: "",
recipeInstructions: "",
recipeIngredients: ""
};
Class component 2
class Store extends Component {
state = {
recipe: []
};
答案 0 :(得分:2)
这取决于您的应用程序的大小,但是有两个主要选择:
希望这会有所帮助。
答案 1 :(得分:0)
每个组件都有一个属性。每个反应成分都有一个道具。每当组件的属性或状态发生变化时,render()函数都会自动运行,并刷新组件本身。
因此,您可以使用道具将一个组件的状态传递给另一个组件。 https://reactjs.org/docs/components-and-props.html
您还可以使用Redux跨组件全局管理状态 https://react-redux.js.org/