我有一条路线Parent
,它得到a_data
并将其置于其状态。
有Child1
和Child2
条路由获得child_data
并将其置于状态
然后有一条Grandchild1
路线是Child1
的子路线,它当然会得到grandchild_data
...
如果我在“孙子路线”上刷新,该如何保存从
收集的数据class Parent extends Component {
state = {
data: { /*ParentData from api*/}
}
render() {
return(
<div>
<Route exact path='/child1' render={() => (
<ChildRoute1 parentData={this.state.data}/>
)}/>
<Route exact path='/child2' render={() => (
<ChildRoute2 parentData={this.state.data}/>
)}/>
</div>
)
}
}
class ChildRoute1 extends Component {
state = {
data: // child data from API
}
// Parent passes its data to ChildRoute1 props
render() {
return(
<div>
<Route exact path='/child1/gradnchild' render={() => (
<Grandchild parentData={this.props.parentData} childData={this.state.data} />
)}/>
</div>
)
}
const Grandchild = ({ parentData, childData }) => (
<div>
// Refreshes here... how do I refetch data from Parent and Child??
</div>
)
我想避免使用redux,而只是从父级路由和子级路由重新获取数据...我只是不知道正确的方法! react-router是否有一些适合这个确切的东西? 谢谢!