使用父状态而不在状态更改时重新呈现的子组件

时间:2020-05-27 17:40:40

标签: javascript reactjs react-native

我有这个父代码段:

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代替了,它能起作用吗?构造函数是否不再运行?我有点迷路了

0 个答案:

没有答案