How can I solve - Uncaught TypeError: removeIndividualBook is not a function?
How can I solve - Uncaught TypeError: removeIndividualBook is not a function?
我在 index.js
中有 removeIndividualBook
,它删除了个别书籍。此功能在 Book
组件中运行良好。
我正在创建新组件 Quantity
并尝试在那里访问 removeIndividualBook
。我将 removeIndividualBook
作为道具从 index.js 传递到 Book.js 再到 Quantity.js。
在 Quantity.js 我得到 Uncaught TypeError: removeIndividualBook is not a function
index.js
// Remove Individual book
const removeIndividualBook = (id) => {
const updatedBookData = booksData.filter((book) => {
return book.id !== id;
});
setBooksData(updatedBookData);
};
<Book key={index} {...book} removeIndividualBook={removeIndividualBook}></Book>
Book.js
const Book = ({description,id,removeIndividualBook}) => {
const clickHandler = () => {
alert(description);
};
<Quantity id={id} removeIndividualBook={removeIndividualBook} />
Quantity.js
const Quantity = (id, removeIndividualBook) => {const Quantity = (id, removeIndividualBook) => {}
return (
<>
<button
className="button" onClick={() => removeIndividualBook(id)}> ------>>> Error
正如我在您的 Quantity.js 组件中看到的那样,您的语法不好。应该是
const Quantity = ({id, removeIndividualBook}) => {
return (
<>
<button
className="button" onClick={() => removeIndividualBook(id)}>
...
)
道具应该包裹在{ }
中(销毁)。我认为这就是您提供的问题。
我用代码片段以某种方式复制了您的组件。
我认为你的问题是因为你没有正确解构道具,(id, removeIndividualBook)
,它们应该是 ({id, removeIndividualBook})
。
这里是 link 你可以看到它正常工作:
希望这能解决您的问题!
我在 index.js
中有 removeIndividualBook
,它删除了个别书籍。此功能在 Book
组件中运行良好。
我正在创建新组件 Quantity
并尝试在那里访问 removeIndividualBook
。我将 removeIndividualBook
作为道具从 index.js 传递到 Book.js 再到 Quantity.js。
在 Quantity.js 我得到 Uncaught TypeError: removeIndividualBook is not a function
index.js
// Remove Individual book
const removeIndividualBook = (id) => {
const updatedBookData = booksData.filter((book) => {
return book.id !== id;
});
setBooksData(updatedBookData);
};
<Book key={index} {...book} removeIndividualBook={removeIndividualBook}></Book>
Book.js
const Book = ({description,id,removeIndividualBook}) => {
const clickHandler = () => {
alert(description);
};
<Quantity id={id} removeIndividualBook={removeIndividualBook} />
Quantity.js
const Quantity = (id, removeIndividualBook) => {const Quantity = (id, removeIndividualBook) => {}
return (
<>
<button
className="button" onClick={() => removeIndividualBook(id)}> ------>>> Error
正如我在您的 Quantity.js 组件中看到的那样,您的语法不好。应该是
const Quantity = ({id, removeIndividualBook}) => {
return (
<>
<button
className="button" onClick={() => removeIndividualBook(id)}>
...
)
道具应该包裹在{ }
中(销毁)。我认为这就是您提供的问题。
我用代码片段以某种方式复制了您的组件。
我认为你的问题是因为你没有正确解构道具,(id, removeIndividualBook)
,它们应该是 ({id, removeIndividualBook})
。
这里是 link 你可以看到它正常工作:
希望这能解决您的问题!