What is the first step in migrating from useState to useReducer with this code?
4 phương ánCó giải thích
const [count, setCount] = useState(0);
function increment() {
setCount(count + 1);
}Các phương án trả lời
Chọn một phương ánLờ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
Find the bug in the following React code: const [items, setItems] = useState([]); const addItem = () => { items.push('new'); setItems(items); };Có lời giảiCâu hỏiWhich is the correct way to consume context in a functional component using the "useContext" hook?Có lời giảiCâu hỏiIn the useEffect hook, how many milliseconds would you wait using setTimeout to perform a side effect after 2 seconds?Có lời giảiCâu hỏiCả 24 câu của chủ đề24 câu