Javascript React Native:导入本地.json异步吗?
我有一个本地Javascript React Native:导入本地.json异步吗?,javascript,reactjs,react-native,ecmascript-6,Javascript,Reactjs,React Native,Ecmascript 6,我有一个本地.json文件,我希望将其用作我的状态的起点。然后我计划将状态存储在AsyncStorage中。但我担心的是导入是异步的,我会遇到一些冲突 这就是我目前正在做的 import { data } from './src/data.json' export default class App extends React.Component { constructor(props) { super(props) this.state = { data,
.json
文件,我希望将其用作我的状态的起点。然后我计划将状态存储在AsyncStorage
中。但我担心的是导入是异步的,我会遇到一些冲突
这就是我目前正在做的
import { data } from './src/data.json'
export default class App extends React.Component {
constructor(props) {
super(props)
this.state = {
data,
}
this.updatePitch = this.updatePitch.bind(this)
}
...
}
但我应该这样做吗
async componentDidMount() {
await this.setState({ data })
}
(我在执行此操作时看到一些布局问题,许多关于其他生命周期方法的警告将被弃用)
然后,在尝试将其与异步存储连接时,可能会执行一些承诺
使用本地.json
文件作为“样板/模板”
,然后在本地存储修订版本的最佳方法是什么?导入捆绑的json是同步的(就像从js文件导入一样)
你的构造函数很好
如果使用Redux,则可以导入json并将其用作reducer中的初始状态。然后,您可以将Redux状态持久化为。除非你的应用程序非常简单,否则强烈推荐Redux
否则,只要在更新时将状态存储到AsyncStorage
,并从componentDidMount
中的AsyncStorage
读取,然后调用setState
,并使用存储的状态进行初始化
许多关于其他生命周期方法的警告将被弃用
这是RN 0.55.1中的一个错误,请升级到>=0.55.2以修复它。非常感谢您的回答。我不太喜欢redux
,所以在调用setState
后,我会继续存储它。