javascript - 无法在 componentWillMount() 中多次调用 setState,解决方法是什么 React Native

标签 javascript react-native state

所以我有 fetch() 来获取一个数组。因此,我将该数组存储在状态中,然后执行一些函数,完成后我想再次设置状态,以便停止加载。这是可以更好地解释它的代码(所有这些代码都在 componentWillMount() 顺便说一句):

// before this is just simple unimportant get request
.then(responseJson => {
            // loading here is 1
            this.setState(function (prevState, props) {
                return {questions: responseJson}
            })

            this.makeAnswers(responseJson)

            // loading needs to be 0 here

        })

如果您需要更多信息,请评论。

谢谢!

最佳答案

为什么不将 this.setState({loading: 0}) 放入 makeAnswers() 函数中?

只需检查您是否需要这样做:

makeAnswers = (response) => {
  ...
  if (this.state.loading !== 0) this.setState({loading: 0})
}

关于javascript - 无法在 componentWillMount() 中多次调用 setState,解决方法是什么 React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52115919/

相关文章:

react-native - TextInput 的 borderRadius 属性在 react-native 中不起作用。

javascript - 使用 React Native 和 Redux 热重载 reducer 时堆栈溢出

javascript - 无法使用 setState onClick 将变量置于状态

javascript - document.click 以删除页面上的类行为不正常

javascript - 如何从 Google Chrome 扩展程序观察选项卡的变化?

ios - React Native 0.64 命令 PhaseScriptExecution 失败,退出代码非零

javascript - React Setstate 在 JSON 化后使我的状态项未定义

javascript - Angular UI-Router - 直接在模板 url 上使用 "resolve"

Javascript Polymer - pubnub 回调函数

javascript - 仅当选择选项时才在多个表单上显示提交按钮