我想知道我必须使用什么样的解决方案来解决以下问题:
我不使用任何状态管理库。我“只使用”React。
全局应用程序状态存储在组件中<MyFoodApp/>
。它包含一系列餐厅对象。
该组件RestaurantPage
用于显示餐厅的详细信息并允许创建新评论。
在这一点上,我被卡住了,因为我需要更新 restaurant
存储在状态中的特定对象<MyFoodApp />
才能添加此提交的评论。
我曾经通过作为props传递给子组件的函数来更新状态,但在这种情况下我不能,因为MyFoodApp
它不是RestaurantPage
.
我是否必须进行设置Redux
才能解决此问题,或者是否有任何解决方法?
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Link, Route, Switch } from 'react-router-dom';
import EasyFoodApp from './js/components/EasyFoodApp';
import RestaurantPage from './js/components/RestaurantPage';
import NotFound from './js/components/NotFound';
class Root extends React.Component {
render() {
return (
<Router>
<div className="router">
<Switch>
<Route exact path="/" component={MyFoodApp} />
<Route
path="/restaurant/:slug"
component={RestaurantPage}
/>
<Route render={() => <NotFound />} />
</Switch>
</div>
</Router>
);
}
}
ReactDOM.render(<Root />, document.getElementById('root'));