美文网首页React
useState动态更新数据

useState动态更新数据

作者: 奋斗的小小小兔子 | 来源:发表于2019-09-27 10:06 被阅读0次

问题
数组渲染组件,每一个都使用useState太冗余了,特别是表单填写的时候。

解决方法
对象的扩展运算符

对象的扩展运算符(...)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。

  • 如果用户自定义的属性,放在扩展运算符后面,则扩展运算符内部的同名属性会被覆盖掉。
自定义属性在扩展运算符前面
  • 如果把自定义属性放在扩展运算符前面,就变成了设置新对象的默认属性值。
默认属性

通过对象扩展运算符,更新一个对象的不同属性值,这样就可以使用一个hook来动态更新所有(有规律)的数据状态。


import React, { useState, useEffect } from 'react';

const TailList = ({ data = [] }) => {
  const [btnArrStatus, setBtnArrStatus] = useState({});
  
  const handleClick = (btnObj) => {
    const { jumpUrl = '', key } = btnObj;
    setBtnArrStatus({
      ...btnArrStatus,
      [`${key}Disabled`]: true,
    });
    window.location.href = jumpUrl;
  };

  return (
    <div>
      {
        data.map(itm =>
          (
            <button
              key={itm.key}
              disabled={btnArrStatus[`${itm.key}Disabled`]}
              onClick={() => handleClick(itm)} />
          ))
      }
    </div>
  );
};

export default TailList;


相关文章

  • useState动态更新数据

    问题数组渲染组件,每一个都使用useState太冗余了,特别是表单填写的时候。 解决方法对象的扩展运算符 对象的扩...

  • useState 原理

    首先回顾一下 useState 的用法 useState: 返回数据 n 和更改数据的函数 setN setN: ...

  • Hooks

    useState 说明: 通过useState来定义数据,以及修改方式(即:set方式) 如上:loading即为...

  • Android零基础入门第67节:RecyclerView数据动

    列表的数据往往会跟随业务逻辑不断刷新,所呈现出来的数据需要动态更新,那么RecyclerView是如何动态更新数据...

  • react hook小记

    useState useState 返回的第一个值将始终是更新后最新的 state,并且与 class 组件中的 ...

  • mysql&mybatis,在开发中遇到的坑

    Mybatis​ 动态拼接​ 数据更新,replace/insert ​ mybatis批量...

  • 08-D3.js散点图

    随机数+坐标轴+散点图 更新散点图,支持数据更新和动态比 单击上方的文本可以生成新数据并更新图表更新数据后,使用了...

  • React Hooks 详解

    一、useState 注意事项1: 不可局部更新state 是一个对象,不能setState部分更新因为setSt...

  • react hooks 总结

    1.useState 用法: 注意事项1: 不可局部更新 Q: 如果state是一个对象,能否更新部分stateA...

  • html标签四

    动态网页:和服务器打交道的网页,数据不是死的,数据动态更新。1、静态网页简单介绍html、css、jshtml:就...

网友评论

    本文标题:useState动态更新数据

    本文链接:https://www.haomeiwen.com/subject/wzahuctx.html