从ReactJS中的嵌套道具中获取数据

时间:2020-06-16 10:13:03

标签: reactjs react-native

我正在使用react-excel-renderer从excel文件中上传数据,将包含状态的列和行响应的excel渲染响应存储在状态中,并传递给其他组件。

预期的用例结果:-我正在使用将值存储在状态(行)中的渲染器从excel获取数据。我正在将状态传递给需要这些值才能传递到API的其他组件。

存储的数据为嵌套形式。您能否让我知道如何将数据单独存储在props中的数组下。随附的屏幕截图。 Need to get values stored in each array separately

Excel呈现代码:-

Epoch 1/70
271/271 [==============================] - 30s 110ms/step - loss: 0.9325 - accuracy: 0.5093 - val_loss: 0.6973 - val_accuracy: 0.5470 - lr: 0.0010
Epoch 2/70
271/271 [==============================] - 29s 108ms/step - loss: 0.8424 - accuracy: 0.5157 - val_loss: 0.6660 - val_accuracy: 0.6528 - lr: 0.0010
Epoch 3/70
271/271 [==============================] - 29s 108ms/step - loss: 0.8066 - accuracy: 0.5213 - val_loss: 0.6441 - val_accuracy: 0.6539 - lr: 0.0010
Epoch 4/70
271/271 [==============================] - 29s 108ms/step - loss: 0.7884 - accuracy: 0.5272 - val_loss: 0.6649 - val_accuracy: 0.6559 - lr: 0.0010
Epoch 5/70
271/271 [==============================] - 29s 108ms/step - loss: 0.7888 - accuracy: 0.5368 - val_loss: 0.6899 - val_accuracy: 0.5760 - lr: 0.0010
Epoch 6/70
271/271 [==============================] - 29s 108ms/step - loss: 0.7617 - accuracy: 0.5304 - val_loss: 0.6641 - val_accuracy: 0.6533 - lr: 0.0010
Epoch 7/70
271/271 [==============================] - 29s 108ms/step - loss: 0.7485 - accuracy: 0.5333 - val_loss: 0.6450 - val_accuracy: 0.6544 - lr: 0.0010
Epoch 8/70
271/271 [==============================] - 29s 108ms/step - loss: 0.7431 - accuracy: 0.5382 - val_loss: 0.6599 - val_accuracy: 0.6539 - lr: 0.0010
Epoch 9/70
271/271 [==============================] - 29s 108ms/step - loss: 0.7336 - accuracy: 0.5421 - val_loss: 0.6532 - val_accuracy: 0.6554 - lr: 0.0010
Epoch 10/70
271/271 [==============================] - 29s 108ms/step - loss: 0.7274 - accuracy: 0.5379 - val_loss: 0.6753 - val_accuracy: 0.6492 - lr: 0.0010

获取道具数据的代码:-

 changeHandler(event) {
        let fileObj = event.target.files[0];
        //just pass the fileObj as parameter
        ExcelRenderer(fileObj, (err, resp) => {
          if (err) {
            console.log(err);
          } else {
            this.setState({
              cols: resp.cols,
              rows: resp.rows,
            });

          }
        });
      }

1 个答案:

答案 0 :(得分:0)

您可以使用Array方法

仍然不能100%地确定最终数据的外观,但是感觉就像您在使用2个数组。 1作为键,1作为值。

所以要结合这两个,我们可以使用Reduce

const keys = data[0];
const values = data[1];
keys.reduce((acc, keys, index) => {
  return {...acc, [key]: values[index]}
}, {})

这将返回键值的对象。