首页 > 其他分享 >React:我们的用法习惯可能是错误的(不优雅)

React:我们的用法习惯可能是错误的(不优雅)

时间:2023-09-25 15:59:59浏览次数:55  
标签:function const value 用法 React useState import return 优雅

React:我们的用法习惯可能是错误的(不优雅)

今天学到了 2023-01-088,361阅读4分钟  

在我们React的日常开发中一些常用的写法,看似运行的很好,实际可能并不优雅。学习React并不是如何如何使用它,而是如何写出优雅,干净的代码。下面举一些例子,总结了一些React开发中不好的写法及相应更好的写法。(仅代表个人观点)

过多的声明state

问题

一个组件中声明了过多的state,过多的setState方法。例如下面的这样:

  ini 复制代码
import { useState } from "react";

export default function MoreState() {
  const [username, setUsername] = useState("");
  const [age, setAge] = useState("");
  const [gender, setGender] = useState("");
  const [email, setEmail] = useState("");
  const [password, setPassword] = useState("");
  const [address, setAddress] = useState("");
  const [city, setCity] = useState("");

  const onSubmit = () => {
    // ...
  };

  return (
    <form onSubmit={onSubmit}>
      <input
        type="text"
        name="username"
        placeholder="username"
        value={username}
        onChange={(e) => setUsername(e.target.value)}
      />
      <br />
      <input
        type="text"
        name="age"
        placeholder="age"
        value={age}
        onChange={(e) => setAge(e.target.value)}
      />
      <br />
      <input
        type="text"
        name="gender"
        placeholder="gender"
        value={gender}
        onChange={(e) => setGender(e.target.value)}
      />
      <br />
      <input
        type="text"
        name="email"
        placeholder="email"
        value={email}
        onChange={(e) => setEmail(e.target.value)}
      />
      <br />
      <input
        type="text"
        name="password"
        placeholder="password"
        value={password}
        onChange={(e) => setPassword(e.target.value)}
      />
      <br />
      <input
        type="text"
        name="address"
        placeholder="address"
        value={address}
        onChange={(e) => setAddress(e.target.value)}
      />
      <br />
      <input
        type="text"
        name="city"
        placeholder="city"
        value={city}
        onChange={(e) => setCity(e.target.value)}
      />
      <br />
      <button type="submit">提交</button>
    </form>
  );
}

实际上这样并不好维护,接手项目的人都疯了

标签:function,const,value,用法,React,useState,import,return,优雅
From: https://www.cnblogs.com/sexintercourse/p/17728068.html

相关文章

  • immerjs:React开发必会技能
    immerjs:React开发必会技能龙骑士尹道长 ​关注 2人赞同了该文章我们都知道React追求的泛式是数据不可变,一般情况下state或者props改变才进入render阶段;如果我们创建的state是一个一般数据类型,他就是一个不可变的值,如果需要改变我们需要重新创建一个state......
  • C# 枚举高级用法之Description
    基础枚举publicenumAnima{//默认值dog=0,依次往下排,可自定义fox=1,fish=2,tiger=3dog,fox,   fish,tiger}高级用法,反射元数据加了Description,就可以通过反射访问这些数据publicenumAnima{//默认值dog=0,依次往下排,可自定义fox=1,......
  • React Hooks中父组件中调用子组件方法
    import {useState,useImperativeHandle,forwardRef}from 'react';//props子组件中需要接受reflet ChildComp=(props,ref)=>{    //此处注意useImperativeHandle方法的的第一个参数是目标元素的ref引用    useImperativeHandle(ref,()=>({      ......
  • ansible教程:with_fileglob基本用法示例
    with_fileglob是Ansible的循环迭代器,用于在任务中对文件进行模式匹配并迭代处理。它可以用于从本地文件系统中选择匹配特定模式的文件,并将它们作为迭代项传递给任务。以下是with_fileglob的基本用法示例:-name:Processfiles<module_name>:src:"{{item}}"with_......
  • 竟然可以在一个项目中混用 Vue 和 React?
    React和Vue是前端开发中的两大热门框架,各自都有着强大的功能和丰富的生态系统。然而,你有没有想过,在一个项目中同时使用React和Vue?是的,你没有听错,可以在同一个项目中混用这两个框架!本文就来分享3个用于混合使用React和Vue的工具!#VeauryVeaury是一个基于React和Vue3的工......
  • labview中for循环用法
    说明:记录一下自己用到的和知道的for用法。 1、基本概念for循环位置:程序面板-编程-结构-for循环for的作用:可以使for循环体内的代码执行一定的次数。这文本语言类似。for重要参数:N表示循环总数,可输入可输出,都表示循环总数。            i表示当前循......
  • Markdown的一些基础用法
    Markdown学习标题三级标题四级标题字体Hello,word!Hello,word!Hello,word!Hello,word!引用孤独的鲸分割线图片超链接Typora最后一个免费版本-KoiC-博客园(cnblogs.com)学习时搜到的,觉得实用便保留下来不妥,可删列表ABCABC表格名字性别......
  • Qt之QMessageBox的用法
    一、QMessageBox::informationQMessageBox::information 用于创建一个信息对话框,通常用于向用户显示一些重要的信息或通知。这个函数的用法很简单,它接受几个参数来配置对话框的内容和行为,并且通常以模态方式显示对话框,阻塞程序的执行,直到用户关闭对话框。QMessageBox::informa......
  • crash工具学习 —— percpu相关的一些用法
    作者[email protected]查看percpu变量在每个cpu上的基地址crash>kmem-oPER-CPUOFFSETVALUES:CPU0:ffff88807f600000CPU1:ffff88807fa00000CPU2:ffff88813d600000CPU3:ffff88813da00000CPU4:ffff8881bd600000CPU5:ffff8881bda00000C......
  • C语言-字符串相关库函数用法+模拟实现
    常见的与字符串有关的库函数strstr()寻找子字符串strcat()字符串追加函数strcmp()字符串比较函数strcpy()字符串拷贝函数strlen()求解字符串长度...1.strstr()寻找子字符串我们先来看MSDN中对该函数的功能描述:Findasubstring.(寻找子......