Render an array of Objects in ReactJs

后端 未结 2 1216
夕颜
夕颜 2020-12-21 16:25

I am trying to go through object properties (Name for this example) and list them within easy loop in function. I have found some pretty awkward way of doing this but it do

相关标签:
2条回答
  • 2020-12-21 16:49

    Why don't you iterate over ItemsToSell array? You don't have to add yet another one.

    Note: Include key property while looping the elements, else you will receive an error.

    const ItemsToSell = [{"Name":"Cup","Price":"99.99"},{"Name":"IPhone","Price":"99.99"},{
    "Name":"Pen","Price":"99.99"}]
    
    function ListItem(props) {
      return <li>{props.value}</li>;
    }
    
    function NumberList(props) {
      return (
        <ul>
          {ItemsToSell.map((elem, index) =>
            <ListItem value={elem.Name} key={index} />
          )}
        </ul>
      );
    }
    
    ReactDOM.render(
      <NumberList />,
      document.getElementById('root')
    );
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
    <div id="root"></div>

    0 讨论(0)
  • 2020-12-21 17:11

    You can simply map over ItemsToSell array

    const ItemsToSell = [{"Name":"Cup","Price":"99.99"},{"Name":"IPhone","Price":"99.99"},{
    "Name":"Pen","Price":"99.99"}]
    
    function ListItem(props) {
      return <li>{props.value}</li>;
    }
    
    function NumberList(props) {
      return (
        <ul>
          {ItemsToSell.map((obj, index) =>
            <ListItem  key={index} value={obj.Name} />
          )}
        </ul>
      );
    }
    
    ReactDOM.render(
      <NumberList  />,
      document.getElementById('root')
    );
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
    <div id="root"></div>

    0 讨论(0)
提交回复
热议问题