【问题标题】:React native router flux to child component将本机路由器通量反应到子组件
【发布时间】:2023-03-24 08:49:01
【问题描述】:

版本

告诉我们您使用的是哪些版本:

  • react-native-router-flux 4.0.0-beta.22
  • react-native SDK 28

我有结构路由器。

const scenes2 = Actions.create(
      <Stack key="root" tabs={true} tabBarPosition={'bottom'} hideNavBar>
        <Stack key="home" hideNavBar={true} component={Home} type={ActionConst.REPLACE} title="Home" titleStyle={styles.menutab} initial={true} icon={TabIcon} image={require('@images/icon-bag.png')}>
          <Scene key="postDetails" component={PostDetails} title="Post" />
        </Stack>
        <Stack key="video" hideNavBar={true} component={Video} title="Video" icon={TabIcon} image={require('@images/icon-bag.png')}>
          <Scene key="videoDetails" component={VideoDetails} title="VideoDetails" />
        </Stack>
        <Stack key="persija" hideNavBar={true} component={Home} title="Persija" icon={TabIcon} image={require('@images/icon-bag.png')}>

        </Stack>
        <Stack key="shop" hideNavBar={true} component={Product} title="Shop" icon={TabIcon} image={require('@images/icon-bag.png')}>

        </Stack>
        <Stack key="profile" hideNavBar={true} component={Profile} title="Profile" icon={TabIcon} image={require('@images/icon-bag.png')}>

        </Stack>
      </Stack>
    );

按下按钮。

<TouchableOpacity onPress={() => {
    Actions.postDetails.bind(this, {post: post});
}}
style={news.bannerText}>
<Text style={news.bannerTitle}>{postTitle}</Text>
<Text style={news.bannerDate}><TimeAgo time={post.date}/></Text>
</TouchableOpacity>

获取错误未定义不是对象(正在评估_reactNativeRouterFlux.Actions.postDetails.bind()

【问题讨论】:

    标签: javascript react-native react-native-router-flux


    【解决方案1】:

    欢迎来到 SO。 onPress 的实际代码如下:

    <TouchableOpacity onPress={() => {
        Actions.postDetails({post: post});
    }}
    style={news.bannerText}>
    <Text style={news.bannerTitle}>{postTitle}</Text>
    <Text style={news.bannerDate}><TimeAgo time={post.date}/></Text>
    </TouchableOpacity>
    

    在这里,当您使用Actions.fileKey() 时,您不需要绑定,只需简单地传递参数即可。如需进一步了解binding 函数,请参阅this 链接,对于Actions/router-flux,请参阅this 链接

    希望它会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多