当前位置: 首页 > 知识库问答 >
问题:

javascript - 数据依赖数据,这个在React中一般如何获得呢?

薛宇
2023-07-29

数据依赖数据,这个一般如何做呢?

比如,在一个react组件内,有一个数组如下:

const datalist = [  {     type: 'a',    location: {x: 0, y: 0, z: 0}  },  {     type: 'b',    location: {x: 1, y: 1, z: 0}  },  {     type: 'c',    location: {x: 2, y: 2, z: 0}  }]

但是基于此数据需要有一个数组只有location:

[    {x: 0, y: 0, z: 0},    {x: 1, y: 1, z: 0},    {x: 2, y: 2, z: 0}]

我们知道在Vue中有computed 这个方式可以做到实时获取,
但是在react中是否有这样的现有的方法做到呢?或者lodash之类的库能做到。

共有1个答案

毋修为
2023-07-29

react 很多逻辑都是用原生 js 去实现的

import React, { Component } from 'react';export default class PraseData extends Component {  constructor(props) {    super(props);    this.state = {      originalData: [        { x: 0, y: 0, z: 0 },        { x: 1, y: 1, z: 0 },        { x: 2, y: 2, z: 0 }      ],      transformedData: []    };  }  componentDidMount() {    // 在组件挂载后,进行数据转换    this.transformData();  }  transformData() {    const { originalData } = this.state;    const transformedData = originalData.map((item, index) => ({      type: this.getType(index),      location: { ...item }    }));    this.setState({ transformedData });  }  getType(i) {    // 类型数组没必要响应式,所以直接定义在函数体内就行    const types = ['a','b','c']    return types[x]  }  render() {    const { transformedData } = this.state;    return (      <div>        {transformedData.map((item,index) => (          <div key={index}>            <p>Type: {item.type}</p>            <p>Location: x={item.location.x}, y={item.location.y}, z={item.location.z}</p>          </div>        ))}      </div>    );  }}

效果如下:
效果图

 类似资料:
  • 我是个新手,所以我不知道该怎么称呼它。因此,如果以前有人问过这个问题,我很抱歉。我可能想做的是映射数据,但我不知道如何做。 以上是我的提取组件。从API获取的数据包括id、lastname、firstname。但是,我想分配id作为鼻涕虫,然后将firstname lastname更改为name 因此,与其在客户机阵列中看到这一点, 我想看到这样的东西:

  • 问题内容: 目前我正在使用这样的东西: 但是事实证明,AppEngine上的数据存储区中的ID不是从1开始的。我在数据存储区中有两个图像,其ID为6001和7001。 有没有更好的方法来检索随机图像? 问题答案: 数据存储是分布式的,因此ID是非顺序的:两个数据存储节点需要能够同时生成ID而不会引起冲突。 要获得随机实体,可以在创建时将0到1之间的随机浮点数附加到每个实体。然后进行查询,执行以下操

  • 第二个存储区是。它的责任是管理随机选择的TODO项目。在我看来,应该使用通过访问TODO项。 问题在于,如前所述,在启动时不会加载TODO项。 问题是:“如何保证已经检索了TODO项?”

  • JUnit Platform Group ID: org.junit.platform Version: `` Artifact IDs: Artifact 说明 junit-platform-commons JUnit的内部公共库/工具。 这些工具预期仅用于在JUnit框架本身内部使用。 不支持任何外部使用。使用它需要自己承担风险! junit-platform-console 支持从控制台发现

  • 一些消息来源,比如Mathei Zaharia的Keynote:Spark 2.0 talk,提到Spark数据帧构建在RDD之上。我在DataFrame类中发现了一些关于RDD的内容(在Spark 2.0中,我必须查看DataSet);但我对这两个API在幕后是如何结合在一起的理解仍然非常有限。 有人能解释一下数据帧是如何扩展RDD的吗?

  • 本文向大家介绍谈一谈,如何得到一个数据流中的中位数?相关面试题,主要包含被问及谈一谈,如何得到一个数据流中的中位数?时的应答技巧和注意事项,需要的朋友参考一下 考察点:排序 数据是从一个数据流中读出来的,数据的数目随着时间的变化而增加。如果用一个数据容器来保存从流中读出来的数据,当有新的数据流中读出来时,这些数据就插入到数据容器中。 数组是最简单的容器。如果数组没有排序,可以用 Partition