在 componentDidUpdate 中无法访问的状态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 componentDidUpdate 中无法访问的状态相关的知识,希望对你有一定的参考价值。
我目前正在学习React Hooks。
我试图将状态值访问到我的类组件的componentDidUpdate()函数中,然而它并没有显示出来,我无法找出原因。相反,在 componentDidMount()函数中可以访问相同的状态值。
谁能帮助我了解一下可能的问题和可能的解决方案,因为同样的例子在youtube教程中工作得很好 (联系)我指的是。
CodeSandBox的链接。链接
示例代码
import React, Component from "react";
class ClassCounter extends Component
constructor(props)
super(props);
this.state =
count: 0
;
componentDidMount()
document.title = "Clicked this.state.count times.";
componentDidUpdate(prevProps, prevState)
document.title = "Clicked this.state.count times.";
alert("Clicked $this.state.count times.");
render()
return (
<div>
<p>From Class Component.</p>
<p>You clicked this.state.count number of times.</p>
<button onClick=() => this.setState( count: this.state.count + 1 )>
Clicked this.state.count times.
</button>
</div>
);
export default ClassCounter;
答案
你的字符串插值语法在 componentDidMount
并在 componentDidUpdate
是错误的,正确的语法。
document.title = `Clicked $this.state.count times.`;
请注意回车键(`)和$字符。
另一答案
你使用的是错误的语法,请使用 ``
componentDidMount()
document.title = `Clicked $this.state.count times.`;
componentDidUpdate(prevProps, prevState)
document.title = `Clicked $this.state.count times.`;
alert(`Clicked $this.state.count times.`);
以上是关于在 componentDidUpdate 中无法访问的状态的主要内容,如果未能解决你的问题,请参考以下文章
react native中componentdidmount和componentdidupdate之间的区别是什么
用componentDidUpdate()和React-APlayer库更新状态。
componentDidUpdate(prevProps, prevState, snapshot): prevProps 未定义