如果你没有走网络请求,也就是没有render两次,就使用注释掉的两个方法即可。或者两个都写一遍。
/**
* Created by wuyakun on 2017/4/27.
*/
import React from 'react';
class GoodsDetail extends React.Component {
constructor(props) {
super(props);
this.state = {
goods_desc: '',
};
}
//为什么会走更新的,就是因为Goods render了两次(初始-网络数据)
// componentWillMount() {
// this.setState({
// goods_desc: this.props.goods_desc ? this.props.goods_desc : '',
// });
// }
// 组件更新props
componentWillReceiveProps(value) {
this.setState({
goods_desc: value.goods_desc ? value.goods_desc : '',
});
}
// componentDidMount() {
// document.getElementById("goods_detail_content").innerHTML = this.state.goods_desc;
// }
//更新完毕
componentDidUpdate() {
document.getElementById("goods_detail_content").innerHTML = this.state.goods_desc;
}
render() {
return (
<div>
<div className="pro_detial">
<h3><i />课程详情</h3>
<div className="pro_con">
<div id="goods_detail_content"/>
</div>
</div>
</div>
);
}
}
export default GoodsDetail;