应该在哪里使用哪个最粗略的?对象解构时出现方括号或花括号?我想使用上下文但有点困惑

问题描述

这是我的上下文,我想在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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...