Проблемы с доступом к данным JSON в React.Ошибка при объявлении, что мои свойства, к которым я пытаюсь обратиться, не определены при отображении свойств объекта - PullRequest
0 голосов
/ 26 сентября 2019

Я относительно новичок в React, и это мой первый пост здесь, поэтому я постараюсь рассказать об этом хорошо.У меня проблемы с доступом к данным JSON.Я проанализировал эти данные из XML, чтобы передать данные об инвентаризации на создаваемую мной страницу.Этот скриншот покажет вам, как выглядит мой массив, к которому я пытаюсь получить доступ.«result.NewDataSet.Table» будет консоль журнала следующего.[Json Object, с которым я работаю] [1]

Мой главный вопрос в том, что у меня установлено 2 состояния.Один из них - "postsRendering", а другой - "postsNotRendering".

Если бы я мог, я бы хотел, чтобы вышеуказанный JSON был установлен в качестве моего состояния.Это прекрасно работает, но когда я пытаюсь его отобразить, я получаю сообщение об ошибке, что моя следующая нотационная точка не существует.В идеале я хотел бы получить доступ к этому состоянию, а затем .map каждый элемент для отображения результатов, которые я хочу.Вот что внутри item [0] (видно в postsRendering [0]) [свойства каждого отдельного объекта] [2]

TL; DR Я могу получить доступ к каждому отдельному объекту json, но хочу получить доступвсю таблицу, чтобы я мог просматривать определенные свойства каждого объекта, который я хочу (так как я работаю с инвентарем).Почему у меня работает "postsRendering", а не "postsNotRendering"

Спасибо, и я надеюсь, что у меня есть смысл!

componentDidMount() { 
axios.get('http://webservices.myapi.com')
          .then(xmlData => {

              this.setState({posts: xmlData.data });

              xmlData = xmlData.data;
          })
      }

      componentDidUpdate() {

//The code in here is unnecessary but basically it parsed the XML data into my JSON and then I set the response's state below



             this.setState({ 
                 postsRendering: result.NewDataSet.Table[0],
                 postsNotRendering: result.NewDataSet.Table,

              });
              console.log("final state after parse", this.state.posts)
              })
      })
      }

      render() {
          return (
      <div>

              <SingleProduct  itemDesc={this.state.postsRendering.CATID}/>
              <SingleProduct  itemDesc={this.state.postsNotRendering[0].CATID}/>
              <SingleProduct/>


      </div>


  [1]: https://i.stack.imgur.com/U1hAX.png
  [2]: https://i.stack.imgur.com/bHKzl.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...