What is the first step in migrating from useState to useReducer with this code?

4 phương ánCó giải thích
Đề bài
const [count, setCount] = useState(0);

function increment() {
  setCount(count + 1);
}

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Replace setCount with dispatch in the existing code.". Tài liệu React, ở phần chuyển logic state vào reducer, chia việc đổi useState sang useReducer thành ba bước: bước một là chuyển từ việc đặt state sang việc dispatch action, tức trong increment thay lời gọi setCount(count + 1) bằng một lời gọi dispatch với action có type là increment, mô tả điều người dùng vừa làm; bước hai là viết hàm reducer chứa logic tính state mới; bước ba là dùng reducer trong component bằng useReducer. Cần nói thẳng có nguồn chấm "Move all state update logic into a reducer function." là đáp án, vì nghe rất hợp lý, nhưng theo trình tự trong tài liệu đó là bước hai, làm sau khi đã đổi các chỗ đặt state thành dispatch. Phương án "Define the reducer function and use dispatch to replace setCount." gộp bước hai với bước một và đặt việc viết reducer lên trước, nên không còn là một bước đầu tiên. Phương án "Import useReducer without changing any code." chỉ thêm lệnh import, không chuyển được chút logic nào nên không phải bước chuyển đổi có ý nghĩa.

Cùng phần 6

Xuất hiện trong 1 bộ đề