this.setState({value:true;}) 中的值是否在跨页面导航后仍然可用
Does the value in this.setState({value:true;}) be available even after navigating across pages
这是特别针对 React-Native 的,但是,我想 ReactJS 也是如此,所以任何答案都很好。
如果我在第 1 页设置一个状态,比如-
this.setState({this.state.value:true});
如果我导航到另一个 scene/page,请使用 Navigator 组件说第 2 页。并说我回来或稍后导航回第 1 页,我还能访问吗-
if(this.state.value())
console.log("True");
else
console.log("False");
我也到不了这个阶段。所以,想知道它是否可能。如果没有,我如何保留该页面的某些属性(比如复选框值、单选按钮值、一些 True/False 标志等)
AsyncStorage 是唯一的其他方式吗?
添加更多想法:
This.prop 更像是我们必须作为参数传递给子模块的 属性 对吗?但是,我需要的是 - 在当前页面中保留的数据。举个例子——一个applist实现(在本机反应的情况下)Android。只有当我们启动应用列表屏幕时,我才想看到应用列表及其数据。
是的,只要您不重新初始化页面,该页面的状态就会保持不变。这意味着您不能在导航的更下方再次调用同一页面并期望它保持其状态。然后您需要使用 this.prop
。
我看到了几个问题。
要设置状态,您可以这样做:this.setState({foo: true});
然后你可以在这里看到结果:
if (this.state.foo) { // <-- you were calling value() as a function...
console.log("True");
} else {
console.log("False");
}
这是特别针对 React-Native 的,但是,我想 ReactJS 也是如此,所以任何答案都很好。
如果我在第 1 页设置一个状态,比如-
this.setState({this.state.value:true});
如果我导航到另一个 scene/page,请使用 Navigator 组件说第 2 页。并说我回来或稍后导航回第 1 页,我还能访问吗-
if(this.state.value())
console.log("True");
else
console.log("False");
我也到不了这个阶段。所以,想知道它是否可能。如果没有,我如何保留该页面的某些属性(比如复选框值、单选按钮值、一些 True/False 标志等) AsyncStorage 是唯一的其他方式吗?
添加更多想法:
This.prop 更像是我们必须作为参数传递给子模块的 属性 对吗?但是,我需要的是 - 在当前页面中保留的数据。举个例子——一个applist实现(在本机反应的情况下)Android。只有当我们启动应用列表屏幕时,我才想看到应用列表及其数据。
是的,只要您不重新初始化页面,该页面的状态就会保持不变。这意味着您不能在导航的更下方再次调用同一页面并期望它保持其状态。然后您需要使用 this.prop
。
我看到了几个问题。
要设置状态,您可以这样做:this.setState({foo: true});
然后你可以在这里看到结果:
if (this.state.foo) { // <-- you were calling value() as a function...
console.log("True");
} else {
console.log("False");
}