当我单击touchableopacity按钮导航到同一选项卡中的另一个屏幕时,收到此警告,并且无法导航。当我运行时,我在屏幕上看到了导航页面,但是按Tab键会将我重定向到相同的选项卡,但是,这些按钮仍然无效
我制作了堆栈导航器和标签导航器,并将两者合并。但使用this.props.navigation.navigate("checkout")
无效
<View style={{flexDirection:'column',alignItems:'center'}}>
<TouchableOpacity
activeOpacity = { .5 }
onPress{this.props.navigation.navigate('CatWise') }
>
<Image style={{height:35,width:35,resizeMode:"cover"}} source={require('../assets/cat_image.png')}/>
<Text>Electronics</Text>
</TouchableOpacity>
</View>
“我希望在单击该可触摸不透明度之后,它应该将我重定向到猫式屏幕”
“我收到警告,因为= =在现有状态转换过程中无法更新(例如在render
之内。)渲染方法应该纯粹是props和state的函数。”
答案 0 :(得分:3)
将onPress函数更改为此:
<TouchableOpacity
activeOpacity = { .5 }
onPress{() => this.props.navigation.navigate('CatWise') }
>
传递函数时,它将在渲染过程中直接执行,这意味着函数执行的结果将传递给onPress处理程序,而不传递给函数本身