这是我参与「第四届青训营 」笔记创作活动的的第3天
记录在lowcode项目过程中对于react方面的学习
一,react安装
1,首先确保电脑有nodejs环境。安装后在cmd控制台中键入node-v查看版本
2,键入npm install create-react-app 安装react
3,键入create-react-app验证是否安装成功
4,创建项目 create-react-app 项目名
5,项目启动 npm start
二,react的设计思路
1,组件设计
1,组件声明了状态和UI的映射
2,组件有Props(外部传入)/State(私有)两种状态
3,“组件”可以由其他组件拼装而成
2,声明周期
mounting 挂载状态 updating 每次更新时都要重新调用render()函数 进行setState等操作
三,react基础知识
如何通过函数对number进行改变并显示在网页上?
(1)使用Bind事件(ps:避免this指向undefine)
(2)使用箭头函数 如图
bind(this,传到方法里的参数)
函数式组件
结构
//写法1
export default function App(){
return (
<div>app</div>
)
}
//写法2 使用箭头函数
const App2 =() =>{
return <h2>sss</h2>
}
函数式组件没有生命周期 没有this 没有state状态
但是Hooks有
HOOK
hook是用于解决在无需修改之前组件结构的情况下复用状态逻辑,它可以让你在不编写 class 的情况下,使用 state 以及其他的 React 特性。接下来我们要详说userstate userefffect两个Hook
userstate
userstate是最简单的一个hook
使用:首先要传入一个初始值时,返回一个状态,和set该状态的函数 用户可以通过调用该函数来实现状态的修改
例:
import {userState} from 'react'
function App){
//Hook只能用在组件函数的最顶层
const[msg,setMsg]=userState("cidier")
const fn = () =>{
}
return (<button onClick={fn}>update msg</button>
)
}
useEffect
传入一个函数与一个数组,数组是状态的数组,叫做依赖项。该函数在mount时和依赖项被set的时候会执行。 类似于模拟mounted() updated()
import {useEffect} from 'react'
useEffect(,num1)
//检测哪个数据 就把哪个数据写入 全不监听可写[] 监听全部可以不写 默认监听全部
例:
HOOK使用法则
1,不能在循环或者嵌套条件时使用HOOK
安装路由
npm i react-router-dom -S”
四,疑问问答
1,React是双向数据流还是单向数据流? 是单向数据流 只能是父组件给子组件传数据。但这并不表示子组件不能改变父组件
2,React是完全的响应式编程吗? 不是。REACT并不是完全的响应式编程。需要手动的跟踪应用数据,并在数据变化时及时的告诉React
五,资料相关:
1,直播课程