javascript - 如何从函数的参数设置状态键?

标签 javascript reactjs

我有这个代码:

const getElementDims = (node, id) => {
    this.setState(
        taskDims[id] = node.getBoundingClientRect()
    )
}

我知道这段代码不起作用,但我真的不知道如何解决这个问题。我想将状态的 taskDims 对象的键设置为从函数中获取的 id,并将节点的参数设置给它。问题出在 key 上。我该如何设置它?将其转换为数组,并将数组的元素设置为对象,并设置id的键值对是不是更好的解决方案?

最佳答案

您可以创建 taskDims 对象的副本并使用键 id 覆盖该值:

const getElementDims = (node, id) => {
  this.setState(previousState => {
    const taskDims = {...previousState.taskDims};
    taskDims[id] = node.getBoundingClientRect();
    return { taskDims };
  });
}

关于javascript - 如何从函数的参数设置状态键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350626/

相关文章:

javascript - 在跨域请求中捕获 JSONP 错误

javascript - 图像下载为 JSON 整数数组,但我想通过转换为 byte[] 来渲染此图像

javascript - 从 Jest 测试 AWS Cognito 失败,但组件中的相同代码可以工作

javascript - 使用 JavaScript 变量

javascript - 将 JavaScript 和 HTML 添加到 IFRAME,并将 IFRAME 打印到打印机

javascript - 使用 Jest 部分模拟 React 模块

javascript - 删除 Div Wrapper 或更改嵌套映射中某些分组元素的类名称

java - ReactJS 和 Java : Response to preflight request doesn't pass access control check

reactjs - 如何从 Spring Boot 应用程序提供 NextJs 应用程序?

javascript - 类型错误 : undefined is not an object (evaluating 'this.props' ) - React Native