javascript - React Native 渲染两次

标签 javascript reactjs react-native

当在新页面中从AsyncStorage调用状态时。我发现错误,然后我尝试 console.log 渲染函数中的状态,我发现 console.log 两次,第一个控制台为空,第二个控制台为 console.log 的状态>异步存储。为什么会发生?如何解决这个问题?

最佳答案

React 将根据需要多次调用渲染以反射(reflect)状态对象的更改,如果您异步获取数据并更新状态,则在组件首次渲染时您将看到一条 console.log 消息,然后再次渲染一旦获取数据并更新状态。

换句话说,按照预期工作,如果您只想记录任何消息一次,请尝试将此行移动到组件构造函数或 componentDidMount 方法。

关于javascript - React Native 渲染两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46769650/

相关文章:

javascript - 如何从我的主进程代码中获取 Electron stdout 内容?

javascript - 如何获取正确的 X 和 Y 坐标以通过 setDragImage 传递。

javascript - 如何使用附加媒体流?

javascript - setState 在react-bootstrap 模式中不起作用

android - 运行 React Native 应用程序时出错

javascript - JQuery列表项,分别设置用户点击列表项时输入框的列表值

javascript - 与 Redux react ? 'context' 问题呢?

reactjs - 使用 TypeScript 为 React 高阶组件输入注解

javascript - 从完整日期获取时的时间错误

react-native - 类型错误 : Cannot read property 'ReactCurrentOwner' of undefined