我有这个父代码段:
render(){
return (
<NavigationContainer>
<Stack.Navigator initialRouteName="Home">
<Stack.Screen name="Home" >
{(props) => <HomeScreen {...props} scannedURL={this.state.scannedURL}/>}
</Stack.Screen>
<Stack.Screen name="Scan">
{(props) => <ScanScreen {...props} scanSuccess={this.scanSuccess}/>}
</Stack.Screen>
</Stack.Navigator>
</NavigationContainer>
);
}
当我更新状态时,此render方法成功再次运行,但是使用父状态的my不会重新渲染。有谁知道为什么吗?这是导航器特定的问题吗?
在主屏幕中,我也有这个:
this.state = {
scannedURL: props.scannedURL,
}
编辑:
有趣的是,在我的HomeScreen组件中使用this.state.scannedURL
的地方,我用this.props.scannedURL
代替了,它能起作用吗?构造函数是否不再运行?我有点迷路了