【问题标题】:Passing props to screen not showing up fist time将道具传递到屏幕第一次没有出现
【发布时间】:2021-05-22 08:42:30
【问题描述】:

您好,我是新来的本地反应,我有一个问题,

const Tab = createMaterialTopTabNavigator();

export const CurriculumMenu = ({navigation, item}) => {
  const data = item.Title;
  console.log(data)
  return (
      <StyledCurriculumNavigator initialRouteName="Overview" navigation={navigation} item={item}>
        <Tab.Screen name="Overview"  initialParams={{data:data}} component={Overview} />
        <Tab.Screen name="Curriculum" initialParams={{data:data}} component={Curriculum} />
        <Tab.Screen name="Teachers" initialParams={{data:data}} component={Teachers} />
      </StyledCurriculumNavigator>

  );
}

所以这是一个嵌套导航器,我正在尝试将参数发送到此导航器中的屏幕

export const Teachers = ({data}) => {
    console.log(data)
            return(
                <View>
                    < TeacherModule />
                    < TeacherModule />
                    < TeacherModule />
                </View>

        )
};

(我知道我需要使用 flatlist,我在解决此问题时正在这样做)

所以在我的主导航器中,console.log(data) 将数据返回给我,但在教师模块中它给了我'未定义'

我做错了什么?对不起,我是个菜鸟

【问题讨论】:

    标签: javascript react-native react-navigation react-native-navigation


    【解决方案1】:

    您需要使用route 属性。

    https://reactnavigation.org/docs/params/#initial-params

    export const Teachers = ({route}) => {
        const data = route.params.data
        console.log(data)
                return(
                    <View>
                        < TeacherModule />
                        < TeacherModule />
                        < TeacherModule />
                    </View>
    
            )
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-14
      • 1970-01-01
      • 2020-11-08
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 2017-11-22
      相关资源
      最近更新 更多