我想要的只是简单地将此数组作为 Book.js 的参数传递,并在另一个组件 Cart.js 上接收该数组,但我在 Cart.js 中不断收到此错误: TypeError: Cannot read property 'value' of未定义。
App.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>
)}
Cart.js
<div>
{this.props.params.value}
</div>
最佳答案
您可以尝试像这样在渲染中传递 Prop 。
<Route path='/Cart/:id' render={(props)=>(
<div><Header/>
<Cart id={props.match.params.id} />
</div>
)}
/>
还要确保您传递了正确的 ID。
关于javascript - 在参数中传递值时出现错误无法读取未定义的属性 'value',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61418230/