【发布时间】:2018-04-20 09:36:04
【问题描述】:
我想知道我需要什么样的解决方案来解决以下问题:
我不使用任何状态管理库。我“只使用”React。
全局应用程序状态存储在组件<MyFoodApp/>中。它包含一个 restaurant 对象数组。
RestaurantPage 组件用于显示餐厅的详细信息并允许创建新评论。
此时我被卡住了,因为我需要更新一个特定 restaurant 存储在<MyFoodApp /> 状态的对象,以便添加此提交的评论 .
我曾经通过作为道具传递给子组件的函数来更新状态,但在这种情况下我不能因为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'));
【问题讨论】:
标签: javascript reactjs react-router-v4