无法在React js中使用console.log打印属性

时间:2019-11-19 10:18:47

标签: reactjs react-props react-component

我想打印从上级组件GroceryListItem传入我的组件GroceryList的道具

我的GroceryList代码:

    class GroceryList extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          groceries: [ { name: "Apples"}, {name: "Orange"}, {name : "Banana"} ]
        };
      }

    render() {
        const element = [];
        for(var index = 0; index < this.state.groceries.length; index++) {
           element.push(<ul><GroceryListItem grocery={this.state.groceries[index]} /></ul>);
        }

        return (
         <div>
           {element}
         </div>
    );
  }
}

我的GroceryListItem代码:

class GroceryListItem extends React.Component {

 constructor(props) {
    super(props);

  }

render() {
    // I want to print the props passed here, but below code is not printing it
    console.log("Hi from GroceryListItem " + this.props.grocery); 

    return (
        <li>
          {this.props.grocery}
        </li>
    );
  }
}

控制台显示:

  

您好,来自GroceryListItem [object Object]

控制台显示[object Object],但不显示诸如Apples, Orange, Banana之类的确切值。如何从props

打印所有值

1 个答案:

答案 0 :(得分:3)

您需要访问对象的name属性

class GroceryListItem extends React.Component {

 constructor(props) {
    super(props);

  }

render() {
    console.log("Hi from GroceryListItem " + this.props.grocery.name); 
    return (
        <li>
          {this.props.grocery.name}
        </li>
    );
  }
}