赞助
摘要: 当this.setState()修改了state中的数据后,当前组件将重新渲染,同时也会重新渲染子组件,但只会渲染当前组件子树(当前组件以其所有子组件) shouldComponentUpdate 当父组件更新会引起子组件也被更新,问题是此时子组件没有任何变化时也会重新渲染,我们就要避免不必要的重新 阅读全文
posted @ 2021-04-16 17:48 Tsunami黄嵩粟 阅读(113) 评论(0) 推荐(0)
摘要: import React, { Component } from 'react' // 只有在类组件中才有生命周期 export default class App extends Component { // 组件初始化 只执行一次 constructor(props) { super(props 阅读全文
posted @ 2021-04-16 17:37 Tsunami黄嵩粟 阅读(68) 评论(0) 推荐(0)
摘要: 父组件 import React, { Component } from 'react' import Lists from '../components/Lists' export default class Cart extends Component { // 数据 状态 state = { 阅读全文
posted @ 2021-04-16 17:31 Tsunami黄嵩粟 阅读(216) 评论(0) 推荐(0)
摘要: 没有和state数据源进行关联的表单项,而是借助ref,使用元素DOM方式获取表单元素值 使用步骤 调用 React.createRef() 方法创建ref对象 将创建好的 ref 对象添加到文本框中 通过ref对象获取到文本框的值 class App extends React.Component 阅读全文
posted @ 2021-04-16 17:18 Tsunami黄嵩粟 阅读(53) 评论(0) 推荐(0)
摘要: 将state与表单项中的value值绑定在一起,有state的值来控制表单元素的值,称为受控组件。 绑定步骤: 在state中添加一个状态,作为表单元素的value值 给表单元素绑定change事件,将表单元素的值设置为state的值 <input type="text" value={this.s 阅读全文
posted @ 2021-04-16 17:08 Tsunami黄嵩粟 阅读(68) 评论(0) 推荐(0)
摘要: 对于组件来说,props是外部传入的,无法保证组件使用者传入什么格式的数据,简单来说就是组件调用者可能不知道组件封装着需要什么样的数据,如果传入的数据不对,可能会导致程序异常,所以必须要对于props传入的数据类型进行校验。 安装校验包 npm i -S prop-types # 在组件中导入 im 阅读全文
posted @ 2021-04-16 16:37 Tsunami黄嵩粟 阅读(319) 评论(0) 推荐(0)
摘要: children属性,表示组件标签的子节点,当组件标签有子节点时,props就会有该属性,与与普通的props一样,其值可以使任意类型。 # 父组件 class App extends React.Component { render() { return ( <div> <Cmp>我是childr 阅读全文
posted @ 2021-04-16 16:19 Tsunami黄嵩粟 阅读(410) 评论(0) 推荐(0)
摘要: state状态只在class类组件才有,函数组件没有此功能 状态(state)即数据,是组件内部的私有数据,只能在组件内部使用 state的值是对象,表示一个组件中可以有多个数据 通过this.state来获取状态 state数据值可以修改 this.setState state可以定义在类的构造方 阅读全文
posted @ 2021-04-16 15:49 Tsunami黄嵩粟 阅读(49) 评论(0) 推荐(0)
摘要: 在JSX事件函数方法中的 this,默认不会绑定 this指向。如果你忘记绑定,当你调用这个函数的时候 this 的值为 undefined。所以使用时一定要绑定好this的指向。 构造方法中绑定 constructor(props){ super(props) // 在构造方法中指定this指向 阅读全文
posted @ 2021-04-16 15:41 Tsunami黄嵩粟 阅读(46) 评论(0) 推荐(0)
摘要: React 元素的事件处理和 DOM 元素的很相似,但是有一点语法上的不同: React 事件的命名采用小驼峰式,而不是纯小写。 onClick onChange 使用 JSX 语法时你需要传入一个函数作为事件处理函数,而不是一个字符串。 onClick={this.fn} 类组件与函数组件绑定事件 阅读全文
posted @ 2021-04-16 15:28 Tsunami黄嵩粟 阅读(120) 评论(0) 推荐(0)
摘要: class Cmp1 extends React.Component{ render(){ return ( <div>{ this.props.name } -- 我是一个类</div> ); }} 父组件 // react根组件 import React, { Component } from  阅读全文
posted @ 2021-04-16 15:22 Tsunami黄嵩粟 阅读(95) 评论(0) 推荐(0)
摘要: 组件间传值,在React中是通过只读属性 props 来完成数据传递的。 props:接受任意的入参,并返回用于描述页面展示内容的 React 元素。 function Cmp1(props) { return ( <div> <h3>{ props.name } -- 你好世界</h3> </di 阅读全文
posted @ 2021-04-16 15:10 Tsunami黄嵩粟 阅读(502) 评论(0) 推荐(0)
摘要: 使用ES6语法的class创建的组件(有状态组件) 类名称必须要大写字母开头 类组件要继承React.Component父类,从而可以使用父类中提供的方法或者属性 类组件必须提供 render 方法,用于页面结构渲染,结构必须要有顶级元素,且必须return去返回 import React from 阅读全文
posted @ 2021-04-16 11:45 Tsunami黄嵩粟 阅读(47) 评论(0) 推荐(0)
摘要: 函数组件(无状态组件):使用JS的函数创建组件 函数名称必须以大写字母开头, 函数组件必须有返回值,表示该组件的结构,且内容必须有顶级元素 import React from 'react' // 函数名首字母必须大写 function Hello() { return ( <div>这是第一个函数 阅读全文
posted @ 2021-04-16 11:31 Tsunami黄嵩粟 阅读(113) 评论(0) 推荐(0)
摘要: React团队主要推荐使用create-react-app来创建React新的单页应用项目的最佳方式。 React脚手架(create-react-app)意义 脚手架是官方提供,零配置,无需手动配置繁琐的工具即可使用 充分利用 Webpack,Babel,ESLint等工具辅助项目开发 关注业务, 阅读全文
posted @ 2021-04-16 11:25 Tsunami黄嵩粟 阅读(64) 评论(0) 推荐(0)
摘要: 安装解析react的相关babel和插件 nmp i -D babel-loader @babel/core @babel/preset-react @babel/preset-env 进行loader相关配置 // node运行环境 // 开发环境webpack配置 const path = re 阅读全文
posted @ 2021-04-16 11:21 Tsunami黄嵩粟 阅读(71) 评论(0) 推荐(0)