我正在使用ListItem onPress使用下面的代码导航到不同的路线。
onPress(item) {
this.props.navigator.push({
component: Areas,
passProps: {
new_id: item.new_id,
}
});
}
_renderItem(item) {
return (
<ListItem item={item} onPress={ () => this.onPress(item) }/>
);
}
但是,this.props.new_id在下一个组件中未定义。
export default class areas extends Component {
constructor(props) {
super(props);
console.log(" UUUU ");
console.log(this.props.new_id);
}
render(){
return (
<Text style={styles.liText}>AAA {this.props.new_id} BBB</Text>
);
}
AppRegistry.registerComponent('areas', () => areas);
我做错了什么吗?
答案 0 :(得分:0)
实际上,我找到了答案。我查看了没有正确传递道具的renderScene。
我通过以下方式修复它: 初始:
return React.createElement(route.component, { navigator });
要:
return React.createElement(route.component, { ...this.props, ...route.passProps, route, navigator } )
这似乎是传递道具。