no message

This commit is contained in:
chenxuan
2024-04-12 09:58:34 +08:00
parent b62f4c4544
commit 9dca9dbbea
3 changed files with 11 additions and 15 deletions
+6 -2
View File
@@ -38,11 +38,15 @@
this.forceUpdate()
}
// 定义在类自身,接收props state两个参数,必须返回状态对象
// 返回状态对象后会劫持原有state state的值在任何时候都取决于props
// 返回状态对象后会劫持原有state
// 返回null则不劫持原有state
// 应用场景 state值与props相关
static getDerivedStateFromProps(props,state){
console.log("xx")
console.log(props,state)
return props
// return props
return null
}
render(){
console.log("3-render")
+4 -11
View File
@@ -30,21 +30,12 @@
count+=1;
this.setState({count})
}
death=()=>{
ReactDOM.unmountComponentAtNode(document.getElementById('app'))
}
// 强制更新不受shouldComponentUpdate控制
force=()=>{
this.forceUpdate()
}
render(){
console.log("3-render")
return (
<div>
<h2>当前求和为:{this.state.count}</h2>
<button onClick={this.add}>点我+1</button>
<button onClick={this.death}>销毁</button>
<button onClick={this.force}>强制更新</button>
</div>
)
}
@@ -60,8 +51,10 @@
return true
}
// 组件更新之前搞一些事情
getSnapshotBeforeUpdate(){
return "xxx"
// 次钩子函数的任何值都会传递给componentDidUpdate
getSnapshotBeforeUpdate(prevProps,prevState){
// console.log(preState)
return "getSnapshotBeforeUpdate"
}
componentDidUpdate(preProps,preState,snapshotValue){
console.log(snapshotValue)
+1 -2
View File
@@ -11,7 +11,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<title>getSnapshotBeforeUpdate</title>
<title>getSnapshotBeforeUpdate实践</title>
<script src="../package/new/react.development.js"></script>
<script src="../package/new/react-dom.development.js"></script>
<script src="../package/new/babel.min.js"></script>
@@ -50,7 +50,6 @@
this.refs.list.scrollTop+=this.refs.list.scrollHeight-height
}
render(){
// console.log(this.state.news)
return (
<div className="list" ref="list">
{