Day2:react组件初探

本文是《深入浅出React和Redux》一书的笔记,探讨React组件的维护要素,prop和state的使用。prop作为组件接口,用于外部传递数据;state是组件内部状态。文中介绍了prop的赋值、读取,以及propTypes检查。同时,讲解了state的初始化和更新,并强调了不应直接修改state。
摘要由CSDN通过智能技术生成

本文为书籍《深入浅出React和Redux》的笔记
书中React的版本为v15.4,学习时React的版本为v17.0.2
文中提到的ControlPanel.js为父组件,Counter.js为子组件

书中提到的代码下载来源

https://github.com/mocheng/react-and-redux

作为一个合格的开发者,不要只满足于编写出了可以运行的代码,而要了解代码背后的工作原理;不要只满足于自己编写的程序能够运行,还要让自己的代码可读而且易于维护。这样才能开发出高质量的软件。

易于维护组件的设计要素

**高内聚:指的是把逻辑紧密相关的内容放在一个组件中。
**低耦合:指的是不同组件之间的依赖关系要尽量弱化,也就是每个组件要尽量独立。

React组件的数据分为两种

prop和state,无论prop或者state的改变,都可能引发组件的重新渲染,prop是组件的对外接口,state是组件的内部状态,对外用prop,内部用state。
【解决BUG】 在尝试第二个案例的时候报错了

ERROR in ./src/Counter.js 97:11-38

export 'PropTypes' (imported as 'PropTypes') was not found in 
'react' (possible exports: Children, Component, Fragment, 
Profiler, PureComponent, StrictMode, Suspense, 
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 
cloneElement, createContext, createElement, createFactory, 
createRef, forwardRef, isValidElement, lazy, memo, useCallback,
 useContext, useDebugValue, useEffect, useImperativeHandle, 
 useLayoutEffect, useMemo, useReducer, useRef, useState, 
 version)

搞了半天,最后还是通过搜索解决了,应该是代码太旧的问题

import React, {
    Component
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值