javascript - 在参数中传递值时出现错误无法读取未定义的属性“值”
问题描述
我想要的只是简单地将这个数组作为 Book.js 的参数传递并在 Cart.js 上接收另一个组件,但我在 Cart.js 中不断收到此错误:TypeError:无法读取未定义的属性“值”。
应用程序.js
<Route path='/Cart/:value' render={()=>(
<div><Header/>
<Cart/>
</div>
)}
/>
页眉.js
<div className="header">
<Link to ="/">Home</Link>
<Link to ="/Books">Books</Link>
<Link to="/Cart/value">Cart</Link>
</div>
Book.js
{ all_books.map((one_book, index) =>
<div key={index} className="single_book">
{/* {Object.values(one_book).map((a_book, index) =>
<h4>{a_book}</h4>
)} */}
<h3>Book Name :- {one_book[1]}</h3>
<h3>Price :- {one_book[2]}</h3>
<h3>Author :- {one_book[3]}</h3>
<h3>No. of Pages :- {one_book[4]}</h3>
<Link
to = {`/Cart/${one_book}`}>
Add to Cart
</Link>
</center>
</div>
)}
购物车.js
<div>
{this.props.params.value}
</div>
解决方案
您可以尝试像这样在渲染中传递道具。
<Route path='/Cart/:id' render={(props)=>(
<div><Header/>
<Cart id={props.match.params.id} />
</div>
)}
/>
还要确保您传递了正确的 ID。
推荐阅读
- c++ - hiredis SET 遇到分段错误
- mysql - 如何根据返回相同数据的多列进行更新或插入,而无需访问唯一 ID
- assembly - 在汇编中使用地址作为参数
- laravel - 如何将消息代理(Nats)与 laravel 集成?
- powershell - Teamcity 'XML 报告处理' - 如果测试失败,则 Powershell 步骤失败
- java - 如何右对齐 Floyd 的 2 的三角形幂的打印
- javascript - 如何在反应中监听按钮点击事件?
- c++ - 为什么在 ctor 的参数列表中用 `decltype(x)` 替换成员 `x` 的类型会破坏类模板参数推导?
- java - 如何正确关闭子面板以在检票口中检测其父面板?
- matlab - 需要帮助生成此代码:Dynamic fieldnames to calculate distance btw center of two shapes