1、this.state = { a1: 0, a2: true }里声明2个对象。
2、this.setState({a1:1})但是并不会影响a2的值
3、setState是异步的,要求有第二个参数
4、setState 任何一个参数的改变都会影响子组件的变化 <child a={this.state.a1}> 原因是变化时会引起chilid的重新绘制
5、两个点击都会引起重新绘制,所以<Dialog type={a1}></Dialog> 无论如何都会引起重新绘制
import React, { useState } from ‘react‘;
import Dialog from ‘./components/dialog‘;
export default function() {
const [a1, seta1] = useState(1);
const [a2, seta2] = useState(2);
let h1=()=>{
seta1(3)
}
let h2=()=>{
seta2(4)
}
return (
<div>
<div onClick={()=>{h1()}}>点击</div>
<div onClick={()=>{h2()}}>点击2</div>
<Dialog type={a1}></Dialog>
</div>
);
}
原文:https://www.cnblogs.com/sexintercourse/p/14833819.html