我试图在我的LoadGridData组件中包括PrintGrid功能组件。 PrintGrid应该从LoadGridData接收firebase的document_id。但是,在LoadGridData的return语句中,我尝试将grid_data列表中的grid_id传递给PrintGrid,这将导致grid_id值未定义。

function PrintGrid(grid_id) {
  console.log('Print grid_id in PrintGrid: ', grid_id);


下面给出了一个错误,它无法访问未定义的索引0。

{grid_data && <PrintGrid grid_id={grid_data[0]} />}


仅使用以下语句,它将grid_data [0]值(grid_id)更新到网页。

{grid_data && <p> {grid_data[0]} </p>}

最佳答案

您没有传递props对象,而只是将grid_id直接传递给PrintGrind函数

更改

function PrintGrid(grid_id) {




function PrintGrid({grid_id}) {


上面是ES6解构对象并直接获取字段的方法。

您也可以只执行PrintGrid(props)并在函数内部访问props.grid_id

function PrintGrid(props) {
    console.log(props.grid_id)
}

关于javascript - 在 react 中传递给功能组件时,属性未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60122420/

10-11 12:54