javascript - this.setState({value :true;}) be available even after navigating across pages

标签 javascript reactjs state react-native

这特别是关于 React-Native,但是,我猜它在 ReactJS 中也是一样的,所以任何答案都会很棒。

如果我在第 1 页设置一个状态,例如 -

this.setState({this.state.value:true});

如果我导航到另一个场景/页面,请使用导航器组件导航到第 2 页。并说我回来或稍后导航回第 1 页,我仍然可以访问-

if(this.state.value())
  console.log("True");
else
  console.log("False");

我也无法到达这个阶段。所以,想知道是否可能。如果没有,我如何保留该页面的某些属性(例如复选框值、单选按钮值、一些 True/False 标志等) AsyncStorage 是唯一的其他方法吗?

添加更多想法:

This.prop 更像是我们必须作为参数传递给子模块的属性,对吧?但是,我需要的是 - 数据保留在当前页面中。举个例子 - Android 的应用程序列表实现(在 native react 的情况下)。仅当我们启动应用程序列表屏幕时,我才想查看应用程序列表及其数据。

最佳答案

是的,只要您不重新初始化页面,页面的状态就会保留。这意味着您无法在导航中进一步调用同一页面并期望它保持其状态。然后您需要使用 this.prop

我发现了几个问题。 要设置状态,请执行以下操作: this.setState({foo: true});

然后你可以在这里看到结果:

if (this.state.foo) { // <-- you were calling value() as a function...
    console.log("True");
} else {
    console.log("False");
}

关于javascript - this.setState({value :true;}) be available even after navigating across pages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34296835/

相关文章:

node.js - 错误 : html-webpack-plugin could not minify the generated output

javascript - 使用 plainroute react 多个布局(路由根)

reactjs - 从输入中获取数字时,React 计数器不会增加

swiftui - 在初始化所有存储的属性之前使用“self”错误 SwiftUI

javascript - 响应类型为 text/plain 的 Angular 资源总是生成一个字符串数组

javascript - 如何在 chartJS 中定位 yAxes 标签

reactjs - 如何使用 Azure 应用服务设置服务器以接受 POST 请求

javascript - 如何将用户输入的输入保存为 React 中的数组状态

javascript - Threejs Canvas 不会调整到标签 div

javascript - 使用 pdfMake 下载多个文件