【发布时间】:2019-05-18 17:48:27
【问题描述】:
我在抽屉导航器中有一个选项卡导航器,我想将数据从绘图导航器传递到选项卡导航器中的页面。
我尝试使用在 DrawerContainer.js 中传递一个参数
this.props.navigation.navigate('TabsNav', {testParam: 'TEST'})
并在主页屏幕中通过this.props.navigation.getParam 检索它。但这不起作用,因为它导航到 TabNav 然后呈现主页。
如何将数据从 DrawerContainer.js 传递到选项卡导航器,然后传递到主页屏幕。
TabNav.js
export const Tabs = createMaterialTopTabNavigator(
{
HomePage: {
screen: Home,
},
ListView: {
screen: List,
},
},
{
order: ['HomePage', 'ListView'],
},
)
DrawerContainer.js
render() {
return (
<View style={styles.container}>
<View>
<TouchableHighlight
style={styles.TouchableHighlight}
onPress={this.props.navigation.navigate('TabsNav', {testParam: 'TEST'})}
<Text>Home</Text>
</TouchableHighlight>
</View>
<View>
<TouchableHighlight
style={styles.TouchableHighlight}
onPress={this.props.navigation.navigate('ProfilePage')}>
<Text>List View</Text>
</TouchableHighlight>
</View>
</View>
)
}
}
DrawNav.js
import { Tabs } from './TabNav.js'
import Profile from '../ProfilePage.js'
import DrawerContainer from '../DrawerContainer'
export const Draw = createDrawerNavigator(
{
TabsNav: {screen: Tabs},
ProfilePage: {screen: Profile},
},
{
contentComponent: DrawerContainer
},
);
HomePage.js
export default class HomePage extends Component{
componentWillMount(){
console.log(this.props.navigation.getParam('testParam', null))
}
render(){
<View>
</View>
}
}
【问题讨论】:
标签: javascript reactjs react-native