reactjs - 在文件之间传递状态值
问题描述
我无法将状态值从一个文件传递到另一个文件。我需要这样做,因为当我从数据库中提取信息时,它需要显示有关这些值的更多详细信息。
我有一个 FlatList,当单击它时,它会设置单击状态值的项目的值。但它也应该导航到一个新屏幕,同时还将这些值传递到该新屏幕以从数据库中提取。
这是我的函数,它设置状态并调用函数将值传递到新屏幕。
_onSectionListPress = (id) {
this.setState({ jobId: id}, () => this._showJobDetail());
};
这是我导航到新屏幕的功能。但这就是我陷入如何传递价值观的地方。
_showJobDetail = () => {
this.props.navigation.navigate("JobDescriptions", this.state.stakeholderID, this.state.jobId)
};
我正在使用 react-navigation 来尝试这样做。
很抱歉以如此复杂的方式询问看似简单的事情。我对 react-native 还是很陌生,我不知道该怎么做。
解决方案
你应该像这样传递状态变量
this.props.navigation.navigate('JobDescriptions', {
stakeholderID: this.state.stakeholderID,
jobId: this.state.jobId,
});
并像这样调用那些状态变量
this.props.navigation.getParam("stakeholderID", "noId")
推荐阅读
- android - Flutter:不进入函数
- go - 有没有办法将命名空间包含在一个值中?
- javascript - eslint 在类属性声明中无法识别格式错误
- python - Express.js 应用程序子进程脚本未在已部署的网站上运行
- java - 自定义 AnnotationFormatterFactory 不起作用
- sql - AWS redshift 上的 SQL 查询和子查询抛出错误
- javascript - [Vue 警告]:属性或方法“first”和“last”未定义
- git - 为什么我提交时我的预提交钩子不会运行
- docker - ASP.NET Core 3.0 Docker 容器端口映射失败
- episerver - 以编程方式获取所有 Episerver 块/类型/用法