告诉我们您使用的版本:
我有结构路由器。
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()
答案 0 :(得分:0)
欢迎来到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链接
希望这会有所帮助。