ReactJs: отображение значений внутри объекта состояния - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь отобразить значения внутри объекта состояния:
Я пробовал два метода:

Метод 1:

 <tbody>
                    {Object.keys(this.state.operationSavInformation).map(
                      function(key, index) {
                        return (
                          <tr key={key}>
                            <td>{`${key}:`}</td>
                            <td>
                              <strong>
                                {this.state.operationSavInformation[key]}
                              </strong>
                            </td>
                          </tr>
                        );
                      }
                    )}
                  </tbody>

Метод 2:

<tbody>
                {Object.keys(this.state.operationSavInformation).forEach(
                  function(key) {
                    var value = this.state.operationSavInformation[key];
                    return (
                      <tr key={key}>
                        <td>{`${key}:`}</td>
                        <td>
                          <strong>value</strong>
                        </td>
                      </tr>
                    );
                  }
                )}
              </tbody>

Оба выдают эту ошибку:

TypeError: Cannot read property 'state' of undefined

К сожалению, я нашел только два способа отобразить на значения объекта в javaScript. Это будет работать, если объект был определен нормально. Однако проблема в том, что этот недоступен внутри map или forEach, поэтому я получаю сообщение об ошибке.

1 Ответ

0 голосов
/ 04 марта 2020

Просто захватите ссылку на нее вне функции предиката, например:

const data = this.state.operationSavInformation
Object.keys(data).map(key => (<tr key={key}>
  <td>{`${key}:`}</td>
  <td>
    <strong>
      {data[key]}
    </strong>
  </td>
</tr>
))
...