首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在屏幕上响应本机传递的数据

在屏幕上响应本机传递的数据
EN

Stack Overflow用户
提问于 2017-10-02 13:56:18
回答 4查看 13.3K关注 0票数 8

我在react-native应用程序上遇到了一些麻烦。我不知道如何在屏幕上传递数据。

我意识到还有其他类似的问题也得到了回答,但这些解决方案对我来说并不管用。

我正在使用StackNavigator。这是我在App.js文件中的设置。

代码语言:javascript
运行
复制
export default SimpleApp = StackNavigator({
    Home: { screen: HomeScreen },
    Categories: { screen: CategoriesScreen }, // send from here
    Category: { screen: CategoryScreen }      // to here
});

我有一个TouchableHighlight组件,它有一个onPress事件,它将导航到所需的屏幕。这是在我的Categories.js文件/屏幕上。

代码语言:javascript
运行
复制
<TouchableHighlight onPress={(id) => {
    const { navigate } = this.props.navigation;
    navigate('Category', { category: id });
}}>
    <Text>{name}</Text>
</TouchableHighlight>

当我单击元素时,屏幕确实会切换到category,但是它无法发送props数据。

因此,当我检查Category屏幕中的数据时,它会返回未定义的数据。我尝试了以下方法:

代码语言:javascript
运行
复制
this.props.category
this.props.navigation.state.category;
this.props.navigation.state.params.category

如何才能准确地访问我在navigate方法中传递的数据?

代码语言:javascript
运行
复制
navigate('Category', { category: id });

编辑:这是我的实际代码结构:

data来自API

代码语言:javascript
运行
复制
for (var i = 0; i < data.length; i++) {
    var name = data[i].name;
    var id = data[i].id;
    categoryComponents.push(
        <Card key={id}>
            <CardItem>
                <Body>
                    <TouchableHighlight onPress={(id) => {
                        const { navigate } = this.props.navigation;
                        navigate('Category', { params: { category: id } });
                    }}>
                        <Text>{name + " " + id}</Text>
                    </TouchableHighlight>
                </Body>
            </CardItem>
        </Card>
    );
}
EN

Stack Overflow用户

发布于 2019-03-26 13:13:11

使用下面的代码片段,您可以使用一些值导航到另一个屏幕。

代码语言:javascript
运行
复制
navigate({ Home: 'HomeScreen',  params: { username: 'abcd' } })

您可以在HomeScreen上收集参数,

代码语言:javascript
运行
复制
this.props.navigation.state.params.username
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46526939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档