有关setstate
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> ); }
漫思