javascript - 在参数中传递值时出现错误无法读取未定义的属性 'value'

标签 javascript reactjs react-redux frontend

我想要的只是简单地将此数组作为 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/

相关文章:

javascript - 没有初始状态的 react 钩子(Hook)

javascript - Webpack 抛出意外的 token 错误

reactjs - RTK Toolkit 如何通过 createSlice 将构建器语法与 Action 创建器一起使用?

javascript - $.post() 有时需要 2 次提交才能发送数据

Javascript - 如何下载 JSON/AJAX 文件并离线访问它

javascript - 在带有 React 的 ES6 中,我可以只解构一个对象一次以便在多个方法中使用吗?

javascript - 有没有更好的方法来处理 React/Redux 中的窗口属性和子组件?

reactjs - 如何在 React 或 React-Redux 中将数据从一个组件传递到另一个组件?

javascript - 使用 Angular js 将 FormData 文件与模型数据一起发布

javascript - 作为关联数组的对象 : for loop