Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取错误无法读取属性';价值';在参数中传递值时未定义的_Javascript_Reactjs_React Redux_Frontend - Fatal编程技术网

Javascript 获取错误无法读取属性';价值';在参数中传递值时未定义的

Javascript 获取错误无法读取属性';价值';在参数中传递值时未定义的,javascript,reactjs,react-redux,frontend,Javascript,Reactjs,React Redux,Frontend,我只想简单地将这个数组作为参数从Book.js传递给另一个组件Cart.js,然后在Cart.js中接收它,但是我一直在Cart.js中得到这个错误:TypeError:无法读取未定义的属性“value” App.js <Route path='/Cart/:value' render={()=>( <div><Header/> <Cart/> </div>

我只想简单地将这个数组作为参数从Book.js传递给另一个组件Cart.js,然后在Cart.js中接收它,但是我一直在Cart.js中得到这个错误:TypeError:无法读取未定义的属性“value”

App.js

<Route path='/Cart/:value' render={()=>(
           <div><Header/>
           <Cart/>
           </div>
          )}     
        />
(
)}     
/>
Header.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>
            )} 
{all_books.map((一本书,索引)=>
{/*{Object.values(一本书).map((一本书,索引)=>
{一本书}
)}   */}
书名:-{one_Book[1]}
价格:{一本书[2]}
作者:{one_book[3]}
页数:-{一本书[4]}
添加到购物车
)} 
Cart.js

  <div>
             {this.props.params.value}
            </div>

{this.props.params.value}

您可以尝试像这样在渲染中传递道具

<Route path='/Cart/:id' render={(props)=>(
       <div><Header/>
       <Cart id={props.match.params.id} />
       </div>
      )}     
    />
(
)}     
/>

另外,请确保您传递的是正确的ID。

您是否计划使用url参数传递整个对象???@Sifat yes这是一个计划我认为这不是一个好主意,您可以使用url传递图书ID,或者创建一个上下文来维护所有图书。我尝试传递图书ID,但仍然显示相同的错误