react入门记录:关于react的一些注意点

本文介绍了React使用中的多个注意点,包括组件名首字母需大写、标签class属性和style值的使用规则、组件中绑定值和方法的调用方式、阻止默认事件的方法、父子组件生命周期执行顺序、插槽和路由的使用,以及Redux使用的注意事项等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.组件名的首字母必须为大写字母:

在这里插入图片描述
否则无法正常渲染,控制台报错
在这里插入图片描述

2.不能为一个标签定义多个class属性,否则只有最后一个属性值会生效。

在这里插入图片描述
实际结果:
在这里插入图片描述

可以通过下面的方式添加多个class值:注意class1后面有个空格
在这里插入图片描述

3.标签中的style值不能为字符串,必须为对象

在这里插入图片描述
结果:浏览器报错
在这里插入图片描述
可以使用下面两种方式定义style的内容在这里插入图片描述

4.组件中标签绑定state、props的值或者类组件中其他方法,需要使用this. 来调用,且要用{}括起来

注意虽然这里再在render中传入了一个props但是并没有用到,真正父组件传入的props是通过this.props调用的在这里插入图片描述

5.调用方法时需要传入参数的方法

(注如果只需要事件对象不需要传入其他参数,则直接使用this.方法名即可)
在这里插入图片描述

6.render方法中使用到的state中的数据改变(setState)就会重新触发render方法

在这里插入图片描述
每秒钟打印一次执行了render方法在这里插入图片描述

7.react中阻止默认事件:不能通过return false是实现需要使用e.prventDefault()

8.父子组件construtor、render、部分生命周期函数执行顺序:

注意:只要调用了setState方法不管有没有改变state数据,或者改变的数据是否在render方法中用到,都会执行render方法和componentDidUpdate钩子函数在这里插入图片描述

9.插槽的使用:

通过在组件中放入需要插入的元素在这里插入图片描述
在组件中通过props.children来获取插槽内容,如果值只插入了一个元素(跟元素),则props.children为一个对象,如果插入了多个元素,则为数组对象![在这里插入图片描述](https://img-blog.csdnimg.cn/20201227121422958.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpbmdsaXUwO在这里插入图片描述

10.路由的使用:

1.安装react-router-dom:npm install react-router-dom --save
2.在文件中按需引入:

import { BrowserRouter as Router,Link,Route,Switch } from "react-router-dom";

3.使用:
3.1 通过Link标签实现路由的切换
当Link标签的to属性值为字符串时则代表pathname的值,如果匹配到的是一个动态路由,如下,那么在路由/profile2/123对应的组件profile2中可以通过props.match.params.id来获取到传入的id值123.
当Link的to属性值为一个对象时,通过pathname来定义路由路径,serach的值会以?key=value的形式展示在url中,所有带入的参数都可以在路由对应组件的props.location中获取到
在这里插入图片描述
进入路由后props值的打印:
在这里插入图片描述

在这里插入图片描述

3.2 通过js的方法实现路由切换:

在这里插入图片描述
4.路由传参的3种方式:params,search,state,
刷新页面后这三种方式传入的参数都会继续保留
在这里插入图片描述

11.redux的使用注意点:

1.由于在组件触发store中的方法前,会先执行一次reducer方法,所以需要在reducer方法中加上一个判断:
在这里插入图片描述
第一次打印结果:
在这里插入图片描述
2.使用react-redux时,如果通过事件改变了state的数据但是组件并没有进行相应的渲染,试试将reducer中的return state改成return {…state}
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值