如何将项目添加到 reactJs 中的监视列表?
How to add items to the watchlist in reactJs?
我正在想办法将项目添加到关注列表,
我在这里尝试执行的步骤是,当用户点击添加按钮时,项目应该添加到我创建的监视列表 page/component。
请查看组件的层次结构。
我想在监视列表页面上显示添加的项目。
请看我试过的代码。
const [watchlist, setWatchlist] = useState ([]);
const handleWatchlist = (movieData) => {
const newList = [...watchlist, movieData]
setWatchlist(newList)
console.log(newList)
}
<Button className = {classes.cardButton}size = "small" onClick = { ()=> handleWatchlist(movie) }> Add </Button>
当我尝试检查时,结果显示项目已添加但无法传递到监视列表组件?如何使用道具传递这个值并显示它们?
非常感谢任何帮助。
万分感谢
在您的示例中,Button
没有在 handleWatchlist
中传递任何参数。我不知道 Button
组件是什么样子,但传递 arg 可能类似于下面的示例:
const Button = ({ onClick }) => {
const value = "some value";
return <button onClick={() => onClick(value)}>Button</button>;
};
const WatchList = () => {
...
return <Button onClick={handleWatchlist}>Add</Button>
感谢您的支持,但我通过使用两种方法找到了解决方案,它们是
这是 props 钻孔,即在我的 App.js 中执行 useState 操作,这是我的主页,我有产品和监视列表组件。
这是我建议其他人使用的最好方法,也是使用 contextAPI 和 useContext 挂钩。一种在应用程序中的任何位置传递任何数据的简单易行的方法。
请在下面的 codesandbox 上查看完整代码和工作解决方案。
https://codesandbox.io/s/determined-nightingale-m2mtn?file=/src/components/Products
工作应用程序,我可以在其中将产品添加到关注列表。
我正在想办法将项目添加到关注列表,
我在这里尝试执行的步骤是,当用户点击添加按钮时,项目应该添加到我创建的监视列表 page/component。
请查看组件的层次结构。 我想在监视列表页面上显示添加的项目。
请看我试过的代码。
const [watchlist, setWatchlist] = useState ([]);
const handleWatchlist = (movieData) => {
const newList = [...watchlist, movieData]
setWatchlist(newList)
console.log(newList)
}
<Button className = {classes.cardButton}size = "small" onClick = { ()=> handleWatchlist(movie) }> Add </Button>
当我尝试检查时,结果显示项目已添加但无法传递到监视列表组件?如何使用道具传递这个值并显示它们?
非常感谢任何帮助。
万分感谢
在您的示例中,Button
没有在 handleWatchlist
中传递任何参数。我不知道 Button
组件是什么样子,但传递 arg 可能类似于下面的示例:
const Button = ({ onClick }) => {
const value = "some value";
return <button onClick={() => onClick(value)}>Button</button>;
};
const WatchList = () => {
...
return <Button onClick={handleWatchlist}>Add</Button>
感谢您的支持,但我通过使用两种方法找到了解决方案,它们是
这是 props 钻孔,即在我的 App.js 中执行 useState 操作,这是我的主页,我有产品和监视列表组件。
这是我建议其他人使用的最好方法,也是使用 contextAPI 和 useContext 挂钩。一种在应用程序中的任何位置传递任何数据的简单易行的方法。
请在下面的 codesandbox 上查看完整代码和工作解决方案。
https://codesandbox.io/s/determined-nightingale-m2mtn?file=/src/components/Products
工作应用程序,我可以在其中将产品添加到关注列表。