使用react-router-dom
的<Route/>
标签,怎样在组件之间传递数据?(不使用redux这类状态机的情况下)
两组件间正常可以这么传数据
getDataFromSub = (data) =>{
// 从子组件接收数据
console.log(data)
}
<div>
父组件
<div>
<SubComponent setDataToParent={this.getDataFromSub}/>
</div>
</div>
state={
data:[
{id:1,value:'aaa'},
{id:2,value:'bbb'},
{id:3,value:'ccc'},
]
}
//向父组件传数据
this.props.setDataToParent(this.state.data)
<div>
子组件
</div>
但是使用Route
标签后就不可以这样传数据了
<div>
父组件
<div>
// 路由这么写报错 好像不接受自定义的属性
<Route path={'/get_data'} component={SubComponent} setDataToParent={this.getDataFromSub} />
</div>
</div>
Url parameters
:定义路由用/:id
这种形式定义,获取可以用match.params.id
获取Query parameters
:将参数加在路由后面,比如/account?name=netflix
,获取就自己获取吧history.push(path, [state])
:push
的第二个参数可以传输任意对象,取出来应该是在location.state
中