一个从数据存储中调用 promise 的简单反应组件componentDidMount
正在引发警告:
警告:setState(...):只能更新已安装或正在安装的组件。这通常意味着您在未安装的组件上调用了 setState()。这是一个无操作。请检查 LocationNameView 组件的代码。
我扔了一些调试console.log
,看看this.isMounted()
是真还是假,里面componentDidMount
this.isMounted()
会第一次返回假,然后又是真的。我不确定文档是否清晰或名称componentDidMount
是否扭曲了我的推理,但似乎只有在实际安装组件时才应调用此方法。
componentDidMount: function() {
var self = this;
// make the request to the backend and replace the loading location text
Models.Location.find(this.props.location)
.then(function(location) {
console.log(self.isMounted()); // <--- shows false then true
self.setState({ location : location });
});
},