我有一个TabNavigator,其中包含2个屏幕,PlanScreen and Recherchescreen
,在Recherchescreen中,我使用访存api来获取数据,并显示其中的一些,所以我想在我的Planscreen without the need to use fetch
中传递一些数据也在此屏幕上。
代码如下:
import RechercheScreen from './RechercheScreen'
class PlanScreen extends React.Component {
render(){
return (
<View style={styles.container}>
<MapR/>
</View>
);
}
}
class ListMed extends React.Component {
render(){
return (
<tab.Navigator swipeEnabled={false}>
<tab.Screen name="Recherche" component={RechercheScreen} />
<tab.Screen name="Plan" component={PlanScreen}/>
</tab.Navigator>
);
}
在我的RechercheScreen上:
componentDidMount() {
this._Request();
}
_Request = () => {
fetchLien(*************).then((res) => {
console.log("****************");
console.log(res.medecin[0].obj);
console.log("****************");
this.setState({
dataSource:res.medecin,
})
})
}
render() {
return (
<View>
<Text > {res.medecin[0].obj.id}</Text>
<View>
)
让我们以显示在此屏幕上的ID为例,如何传递它? 任何建议都值得欢迎! 谢谢。
答案 0 :(得分:0)
您可以在导航时将这些参数传递到其他屏幕。
将参数作为第二个对象放入路径中,从而将其传递给路线 navigation.navigate函数的参数: navigation.navigate('RouteName',{/ * params go here * /})
阅读屏幕组件中的参数:route.params。
示例:
this.props.navigation.navigate('PlanScreen', { myId: Your id })
// OR
this.props.navigation.setParams({myId: Your id})
这就是您获取这些params on your PlaneScreen
this.props.route.params.myId