极客时间返利平台,你可以在上边通过山月的链接购买课程,并添加我的微信 (shanyue94) 领取返现。
每天晚上九点 B站讲解前端工程化直播,并解答相关问题。

# 关于 setState 以下代码的输出

更多描述

代码如下所示,每次切换 TODO 状态时,通过手动修改 todo.status 再 setTodo,此时是否会修改成功

代码见 setState - codesandbox (opens new window)

import { useState } from "react";

export default function App() {
  const [todo, setTodo] = useState({ id: 1, status: "TODO" });
  return (
    <div className="App">
      <button
        onClick={() => {
          todo.status = !todo.status;
          setTodo(todo);
        }}
      >
        Toggle Status
      </button>
      <h1>{todo.status}</h1>
    </div>
  );
}

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 566 (opens new window)

Last Updated: 11/27/2021, 10:11:48 AM