## react 小笔记
const setForm = (key: keyof IOtcSellOrders, value: unknown) => {
setSellOrder({
...sellOrder,
[key]: value
})
}
<Input type='number' className={styles.input} placeholderStyle='color:#ABABAB' onInput={evt => setForm('amount', evt.detail.value)} placeholder='请输入'/>
# 错误边界。(只能捕获后代组件生命周期里的错误,不能捕获自己组件产生的错误和其他组件在合成事件、定时器中产生的错误)
当父组件下的子组件出现报错的时候,会触发getDeruvedStateFromError调用,并携带错误信息
static getDerivedStateFromError (error){ return {hasError:error} }
componentDidCatch(error,info){
console.log('统计错误,反馈给服务器,用于通知编码人员进行bug解决')
}
需要先定义
state = { hasError:' ' //用于标识子组件是否产生错误 }
注意:只适用于生产环境,开发环境不稳定
# 组件间通讯方式
props:
(1).children props
(2).render props
消息订阅-发布:
pubs-sub、event等等
集中式管理:
redux、dva等等
conText:
生产者-消费者模式
组件之间的关系
父子组件:props
兄弟组件(非嵌套组件):消息订阅-发布、集中式管理
祖孙组件(跨级组件):消息订阅-发布、集中式管理、conText(用的少)
className = {({isActive})=>isActive?'className1':'className2'}
简写
function computedClassName({isActive}){
return isActive?'className1':'className2'
}
className = {computedClassName}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!