问题描述
这是我的上下文,我想在BookList组件中使用它。
import React,{ createContext,useState } from "react"
import { v4 as uuidv4 } from "uuid"
export const BookContext = createContext()
const BookContextProvider = (props) => {
const [books,setBooks] = useState([
{ title: "Deek Work",author: "Cal Newport",id: 0 },{ title: "Principles",author: "Ray dalio",id: 1 },{ title: "Sapiens",author: "Yuval Noah Harari",id: 2 },{ title: "Grit",author: "Angela Duckworth",id: 3 },{ title: "Ikagai",author: "Hector Garcia",id: 4 },])
const addBook = (title,author) =>
setBooks([...books,{ title,author,id: uuidv4() }])
const removeBook = (id) => setBooks(books.filter((book) => book.id !== id))
return (
<BookContext.Provider value={{ books,addBook,removeBook }}>
{props.children}
</BookContext.Provider>
)
}
export default BookContextProvider
BookList组件:
import React,{ useContext } from "react"
import { BookContext } from "../contexts/BookContext"
const BookList = () => {
const { books } = useContext(BookContext)
}
为什么books变量位于花括号内而不是方括号内?即使使用useState钩子创建的状态(即 books )是一个数组。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)