这段react代码为什么渲染了三次

这段react代码为什么渲染了三次呢,打印出来render是有三次,不是应该两次吗?

import React  from 'react';
const Toggle = (props) => {
  const [ num ,setNumber ] = React.useState(0)
  setTimeout(() => {
    setNumber(1)
  }, 0)
  console.log('render'); // render three times ?
  return <button >{ console.log(num) } {num}</button>
};

export default Toggle;

但是一下这段代码只渲染了一次?

import React  from 'react';
const Toggle = (props) => {
  const [ num ,setNumber ] = React.useState(0)
  setTimeout(() => {
    setNumber(0) // change
  }, 0)
  console.log('render'); // render one times ?
  return <button >{ console.log(num) } {num}</button>
};

export default Toggle;
阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题