无法在渲染中操作数据,这很奇怪。
编码:
class Pagination extends React.Component {
constructor(props) {
super(props);
}
componentDidMount() {
console.log(this.props);
const { id, count } = this.props;
let pages;
if (count != 0) {
pages = Math.ceil(count / 12);
}
}
render () {
console.log(this.pages); // undefined, в componentDidMount все нормально
...
我错过了什么?
事实证明是这样的,因为该方法从一开始就起作用
render(在其中this.pages它仍然undefined)然后componentDidMount。因此,它返回undefined循环,请参阅安装部分以及为什么要在
pages内部使用变量声明componentDidMount。state尽量避免使用此类代码。退出 componentDidMount 后,您的页面不会保存在任何地方。有必要将 let pages 保存到本地状态,然后在渲染器中获取它。这是一个关于钩子的例子: