react学习|青训营笔记

58 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第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)使用箭头函数 如图

image.png

bind(this,传到方法里的参数)

image.png

函数式组件
结构

//写法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)
//检测哪个数据 就把哪个数据写入 全不监听可写[] 监听全部可以不写 默认监听全部

例:

image.png

HOOK使用法则

1,不能在循环或者嵌套条件时使用HOOK

安装路由

npm i react-router-dom -S”

image.png

四,疑问问答

1,React是双向数据流还是单向数据流? 是单向数据流 只能是父组件给子组件传数据。但这并不表示子组件不能改变父组件

2,React是完全的响应式编程吗? 不是。REACT并不是完全的响应式编程。需要手动的跟踪应用数据,并在数据变化时及时的告诉React

五,资料相关:

1,直播课程

2,www.136.la/jingpin/sho… 3,www.bilibili.com/video/BV1tY…