首页 > 其他分享 >react-day1

react-day1

时间:2024-05-14 22:42:16浏览次数:13  
标签:受控 React day1 react props 组件 jsx setState

1.react特点   1.声明式   2.组件化   3.一次编写,跨平台   4.单向数据流   5.虚拟DOM   6.Diff算法 2.脚手架搭建项目   npx create-react-app my-app   cd my-app   npm start 3.语法规则   1.根元素只能有一个   2.jsx中使用使用js表达式,表达式写在{}中   3.属性值指定为字符串字面量,或者属性值中插入一个js表达式   4.style对应的必须是样式对象,class要写作className   5.注释要写在花括号   6.jsx允许在模板中插入数组,数组会自动展开所有成员 4.creatElement方法   1.React.creatElement(type,[props],[...children])   2.type 创建的React元素类型,可选的值有:标签字符串、React组件   .props(可选) React的元素属性   4.children(可选) React元素的子元素 5.jsx的本质是React.creatElement方法的语法糖 6.React中的组件     1. class 类名 extendsReact.Component{       render(){        return (         // 一段 jsx        )       }     }   2.function 组件名(){     return (     // 一段jsx     )   } 7.事件处理   1.阻止 e.preventDefault()   2.原生事件对象 e.nativeEvent 8.this的修正   1.只针对类组件   2.改用箭头函数/构造函数中用bind改变this的指向 9.组件的状态和数据的传递(无hooks,只有类组件有状态)     this.setState({       name:newValue     })     或者     this.setState(()=>{       name:newValue     })     this.setState(()=>{       name:newValue     })     修改组件状态,setState对状态的改变可能是异步。处于事件处理函数时是异步     最佳实践:1.所有setState统一当做异步          2.永远不要相信setState调用之后的状态          3.如果要使用改变之后的状态,需要使用回调函数(setState的第二个参数是函数)          4.如果新状态要根据之前的状态进行计算,将多次setState进行合并(将多次状态改变完成后,再统一对state进行改变,然后出发render) 10.props验证   prop-types   安装 npm install --save prop-types   引入 import PropTypes from 'prop-types   使用 MyComponent.propTypes = {     name:PropTypes.string   } 11.状态提升,自组建传递数据给父组件 12.受控组件和非受控组件   1.受控组件 受state控制的组件   2.非受控组件 // 表单一旦用了value,默认为受控组件,设置默认值使用defaultValue   // 使用非受控组件的情况:用户文件上传   类组件中:   constructor(props){     super(props);     this.handleSubmit = this.handleSubmit(this)     this.inputRef = React.creatrRef();   }  

标签:受控,React,day1,react,props,组件,jsx,setState
From: https://www.cnblogs.com/foxing/p/18192411

相关文章

  • @react-navigation/native 在组件外使用路由跳转功能
    首先,创建一个NavigationService.js文件来管理导航引用。//NavigationService.jsimport{createNavigationContainerRef}from'@react-navigation/native';exportconstnavigationRef=createNavigationContainerRef();exportfunctionnavigate(name,params){i......
  • react什么时候用函数组件,什么时候用类组件
    在React中,使用函数组件还是类组件取决于你的需求和个人偏好。在过去,类组件是主要的React组件形式,但是随着ReactHooks的引入,函数组件也变得非常强大,两者之间的差异已经减小。以下是一些指导原则:简单的UI组件:对于简单的UI组件,如按钮、图标、展示静态内容的组件等,使用......
  • react受控组件和非受控组件的区别
    在React中,组件可以分为受控组件和非受控组件,它们之间的主要区别在于组件内部对数据的控制方式。受控组件:受控组件的值受React组件的状态(state)控制。组件的值由React组件的state属性管理,并通过props将其传递给组件。当用户与组件交互时,例如输入表单元素的值发生变......
  • Springboot+React实现Minio文件分片上传、断点续传
    前言本文采用前后端结合,后端给前端每个分片的上传临时凭证,前端请求临时url,通过后端间接的去上传分片。其实无关乎vue或者react,思路都是一样的,逻辑也全都是js写的,跟模板语法或者jsx也没关系,仅仅是赋值不一样而已。前端:React+TypeScript+Antd+axios+spark-md5+p-......
  • React基于RBAC的权限控制
    简单实现基于RBAC(Role-BasedAccessControl,基于角色的访问控制)的权限控制,可以通过定义角色和权限,然后将权限分配给不同的角色来实现。用户根据其角色获得相应的权限,进而访问特定的路由、页面组件或者操作。以下是在React应用中实现RBAC的一个简单示例。这个示例包括了路由保护......
  • react native 项目使用 Xcode 打包上架 App Store
    一、创建证书、标识符和描述文件等:1.前提条件可正常运行和打包的代码、Apple开发者账号点击注册Apple开发者账号注册完进入页面可以看到证书、标识符和描述文件创建入口2.创建AppID点击Identifiers旁边的加号选择AppIDs,点击Continue。选择App,点击Conti......
  • 推荐一款Windows兼容的开源操作系统-ReactOS
    ReactOS介绍ReactOS™isanOpenSourceefforttodevelopaqualityoperatingsystemthatiscompatiblewithapplicationsanddriverswrittenfortheMicrosoft®Windows™NTfamilyofoperatingsystems(NT4,2000,XP,2003,Vista,7).TheReactOSproject,al......
  • npm install 报错 ---》npm ERR! request to https://registry.npmjs.org/react faile
    1、npminstall报错E:\wsg\AWC_TEST\stage>npminstallreactreact-domnpmERR!codeCERT_NOT_YET_VALIDnpmERR!errnoCERT_NOT_YET_VALIDnpmERR!requesttohttps://registry.npmjs.org/reactfailed,reason:certificateisnotyetvalidnpmERR!Acomplete......
  • 创建reacte工程2
    1配置store1)安装npminstall@reduxjs/toolkit react-redux【index.js】import{Provider}from'react-redux'import{store}from'store'<Providerstore={store}><App/></Provider>【store/index.js】import{configureStore}f......
  • 2024-05-11 react-native 相关面试题
     ReactNative是什么?ReactNative是Facebook开源的一个使用JavaScript和React编写原生应用的框架。它允许开发者使用JavaScript和React编写跨平台的移动应用,这些应用可以运行在iOS和Android平台上。ReactNative有哪些优点?跨平台:一套代码可以开发出跨平台的app,减少了人......