How would you use the useContext Hook to access a shared theme in a React component?

4 phương ánCó giải thích

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: "const theme = useContext(ThemeContext);". useContext nhận chính đối tượng context được tạo bằng createContext và trả về giá trị mà Provider gần nhất phía trên cây truyền xuống qua prop value; khi Provider truyền thẳng giá trị chủ đề (chuỗi 'dark' hoặc một đối tượng màu) thì gán kết quả cho biến theme như trên là đúng. "const { theme } = useContext(ThemeContext);" chỉ đúng khi value là một đối tượng có khoá theme bên trong; câu hỏi cần lấy chính giá trị chủ đề dùng chung nên phân rã là thêm một giả định không có. "const { theme } = useContext(ThemeContext.Provider);" sai kép: vừa phân rã thêm khoá theme vừa truyền component Provider thay cho đối tượng context. "const theme = useContext(ThemeContext.Provider);" cũng truyền ThemeContext.Provider vào useContext; React yêu cầu đối số là chính ThemeContext, cách gọi với Provider không được hỗ trợ và React đưa ra cảnh báo.

Cùng phần 6

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