react学习总结1-19


react视频整理1前19个视频

youtube上找到的一个react视频学习: 戳戳

到目前为止个人理解的vue和react的区别

vue有属于自己的.vue组件 html css以及 javascript 都可以写在.vue文件里面

react使用 .js 以及 .css 文件, 并且使用 JSX 语法(虽然不是一定要使用JSX,但是react还是推荐使用JSX语法)

vue的数据以及函数、钩子函数 都声明在.vue文件中

react因为每个组件都是函数式组件 or class 类组件, 因此和每个组件相关的函数以及数据都写在组件的内部

etc

react的动态数据

vue的数据双向绑定使用 两个大括号或者 v-text

react使用 {}, {}中可以放string, number ,array 但是不能放object。 {}中也可以直接写javascript语法

Props & State

props用来函数中传入的参数 可以理解为vue中的数据 但是props的数据不能修改,也就是只读不改

state声明的数据可以进行修改,但是不能够像vue一样直接对data部分进行赋值修改

需要使用setState进行修改(ES5) 或者使用useState进行修改(ES6)

父子组件之间的数据传递

这个部分和vue相似,都是在父组件标签上使用key-value的方式然后使用props进行传递

ex: BlogList.js 文件 和 Home.js文件 。 在Home.js文件中importBlogList.js文件

上面两种写法等效

也可以在组件内写javascript语句,比如filter

动态渲染 & 数据的双向绑定

承接上面的内容

大家都知道,如果想实现点击一个按钮,进行数据的删除(或者更新)的时候,需要创建一个函数。但是函数应该创建在哪里呢

因为props内容无法修改的特性,所以我们只能通过 调用创建useState时绑定的修改函数来修改。也就是Home.js中的setBlogs函数

我们可以在Home.js文件中创建一个函数 handleDelete,并且通过props的方法将这个handleDelete函数传递给BlogList.js组件。

useState && useEffect

useState

useState使用方法:第一个参数是变量名,第二个参数是赋值函数(用这个函数对函数所属的变量进行值的更新)

import {useState} from 'react'

const Home = () => {
    //'mario' 这个地方的数据可以是string,number,object,array,boolean etc
    //name 是变量名, setName是修改变量名的函数(名字都可以自己设置)
    const [name, setName] = useState('mario');
    const [age, setAge] = useState(25);
    
    const handleClick = () => {
        setName('luigi');
        setAge(30);
    }
    
    return(
     

Homepage

{ name } is { age } years old

); } export default Home;

页面会从这个样子

变成这个样子

使用useState已经可以达到简单操作页面静态数据的方式了。但是还不够

useEffect

useEffect可以用来监听state变量的变化,也可以在useEffect中进行数据的fetch,比如http请求就可以放在这个函数里面

basic

useEffect会在每一次页面进行render/re-render的时候被调用(也就是页面的数据被改变,布局发生变化,样式修改etc)

useEffect(() => {
	console.log("render");
});

dependency

//会在页面第一次渲染的时候调用,但是后面数据改变的时候不会再调用
useEffect(() => {
	console.log("render");
},[]);

//当第一次渲染 以及变量 name 数据发生改变的时候 被调用
useEffect(() => {
	console.log("render");
},[name]);

fetch data

使用json-server创建一个模拟的restful-api (细节在这里不说了)

TIPS

javascript一个true&false判断方法: 使用&&进行判断

{blogs && }
//当blogs为true时,会调用&&后面的内容,当blogs为false的时候会忽略&&后面你的内容
//react中可以在{}中再嵌套{}

文章作者: Silong Xu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Silong Xu !
 上一篇
使用json-server发送restful api 使用json-server发送restful api
使用 JSON-server 发送 fake restful api 当你没有或者不想创建一个数据库和前端发送api请求的时候,可以使用json-server发送mock api请求 下载: npm install -g json json
2021-07-07
下一篇 
创建react项目以及遇到的问题 创建react项目以及遇到的问题
创建react项目以及遇到的问题 创建react项目的方法常见的有三种,详细内容请看这个网址:戳戳 在这里我们只讲使用 create-react-app 管理工具创建react项目 和vue项目相似,react也使用nodejs作为服务器,
2021-07-05
  目录