有关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>
  );
}
漫思
原文地址:https://www.cnblogs.com/sexintercourse/p/14833819.html