Properties 传递动态道具时会做出本机反应
我有简单的导航Properties 传递动态道具时会做出本机反应,properties,react-native,Properties,React Native,我有简单的导航 if (routeId === 'Page1') { return ( <Page1 navigator={navigator} /> ); } if (routeId === 'Page2') { return ( <Page2 navigator={navigator} /> ); } 我也试过了 visitPage(){ this.props.navigator.push({
if (routeId === 'Page1') {
return (
<Page1
navigator={navigator} />
);
}
if (routeId === 'Page2') {
return (
<Page2
navigator={navigator} />
);
}
我也试过了
visitPage(){
this.props.navigator.push({
id:'Page2',
name:'Page2',
data:this
});
}
然后在构造器的第2页上,我将数据设置为null,并在pagemount上读取属性
constructor(props, context) {
super(props, context);
console.log(this.props);// Returns my navigator object, but no properties along with it.
this.state = {
page2Data: this.props.data,
};
}
onComponentWillMount(){
console.log(this.props.data); // Returns undefined
this.setState({page2Data: this.props.data});
}
如果要使用passProps,需要将属性附加到组件,如下所示:
if (routeId === 'Page1') {
return (
<Page1 {...route.passProps} navigator={navigator} />
);
}
if (routeId === 'Page2') {
return (
<Page2 {...route.passProps} navigator={navigator} />
);
}
谢谢这么简单。我发现缺少文档对react native来说相当困难。也许我只是看得很烂。。lol@ChrisGeirman我刚刚提交了一份公关,希望他们能接受!还决定发布一篇关于它的媒体文章,看看质量文章,良信电器!非常值得一读。谢谢我将在下一期时事通讯中分享一个链接,同时也会寻找公关。
constructor(props, context) {
super(props, context);
console.log(this.props);// Returns my navigator object, but no properties along with it.
this.state = {
page2Data: this.props.data,
};
}
onComponentWillMount(){
console.log(this.props.data); // Returns undefined
this.setState({page2Data: this.props.data});
}
if (routeId === 'Page1') {
return (
<Page1 {...route.passProps} navigator={navigator} />
);
}
if (routeId === 'Page2') {
return (
<Page2 {...route.passProps} navigator={navigator} />
);
}
this.props.navigator.push({
id: 1,
passProps: {
name: 'Chris',
location: 'some location'
}
})