react-native - OnPress State 通过 AsyncStorage 更新屏幕不会重新渲染
问题描述
我setItem
在Home.js
文件中为:
AsyncStorage.setItem('myValue', JSON.stringify(3))
现在在另一个名为的文件中,Ask.js
我有一个正在调用它的按钮:
const [val, setVal] = useState("1");
...
<TouchableOpacity onPress={() => {
AsyncStorage.getItem("myValue").then((value) => {
setVal(value)
console.log(value + ' and ' + val)
});
}}>
基于console.log
当按下此按钮时,它会记录1 and 3
似乎值未更新但如果我再次按下它会打印3 and 3
,这意味着useState
值已更新但未重新呈现。
那么如何重新渲染呢?
解决方案
推荐阅读
- go - golang 中的 php $_REQUEST 相当于什么?
- php - 如何在 coinbase api 中请求资金?
- c# - 在 Unity 中获取连接在同一网络上的所有设备的 IP 地址?
- c++ - 用作默认参数的未优化 constexpr 的未定义引用
- unity3d - LeapMotion unity 4.0 是否还支持检测工具,比如铅笔?
- android - 设置颜色过滤器不适用于自定义颜色
- javascript - Bootstrap 卡中的响应式 PlotlyJS 图表
- scala - Scala 隐式类(在隐式类中使用隐式) - 不是 Int 错误的成员
- excel - 如何对列进行字母排序和其他特定排序?
- airflow - Airflow Web UI 上的管理菜单中没有连接标签