我已经阅读了在线和官方文档。订单是 Constructor-> ComponentWillMount - >渲染 - > ComponentDidMount等。
class Navigation extends Component {
constructor(props) {
super(props);
console.log('constructor', this);
this.state = { items: [ ] };
}
componentDidMount() {
console.log('componentDidMount');
if ( toDisplay( ) ) {
api.bringCats()
.then( categories => {
const tot_cat = categories.map( cat => { return {name: cat.name, link: cat.link}; })
this.setState({items: tot_cat,})
})
}
}
render() {
console.log("render")
//some stuff
}
}
我希望日志按此顺序排列 构造函数 2. ComponentDidMount 3.渲染
在构造函数方法中使用this
进行日志记录constructor
。我能够获得items
的价值,它在componentDidMount
中为什么会发生这种情况?并且它以正确的顺序记录(constructor-> didmount-> render),但为什么即使在调用items
之前我也会获得componentDidMount
的值。
我在<Navigation/>
<Header/>
组件
Header extends Component{
render(){
return (<div> <Navigation/> </div>);
}
}
答案 0 :(得分:0)
我正在尝试一些事情,发现这个工作正常。
window.cnj = require('circular-json')
/ *我在起点第一行添加了这个,所以我可以在所有导入中访问它。 * /
window.props = JSON.parse(window.cnj.stringify(simple));
我可以从devtools访问window.props
并按预期工作。
sample
可以是字符串,数组,普通对象或循环对象。