You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Navigation跳转时,如何从第二个屏幕传回选中的颜色值?

解决React Navigation屏幕间颜色值回传问题

要实现从ColorPickerScreen将选中的颜色传回第一个屏幕,只需调整两处代码:

1. 修改ColorPickerScreen的onSelect方法

选中颜色后,先调用从第一个屏幕传递的回调函数传回颜色值,再执行跳转:

onSelect = (color) => {
  // 获取导航参数里的回调函数
  const onSubmit = this.props.navigation.getParam('onSubmit');
  // 将选中的颜色传入回调
  onSubmit(color);
  // 跳转回第一个屏幕
  this.props.navigation.navigate('CreatenewtTipul');
}

2. 修正第一个屏幕的回调逻辑

确保回调能正确接收并处理传回的颜色值:

<CustomButton
  style={styles.buttonPicker}
  darkMode={this.props.darkMode}
  title={'pick a color'}
  onPress={() => {
    this.props.navigation.navigate('ColorPickerScreen', {
      onSubmit: (selectedColor) => {
        // 这里可以处理传回的颜色,比如打印或保存到组件状态
        console.log('选中的颜色:', selectedColor);
        // 示例:更新组件状态
        // this.setState({ pickedColor: selectedColor });
      },
    })
  }}
></CustomButton>

调整完成后,用户在ColorPickerScreen选择颜色时,颜色值会通过回调函数传递回第一个屏幕,再完成页面跳转。

内容的提问来源于stack exchange,提问作者Arik m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:18:23