React开发中需要注意的几点内容

1、  所有 React 组件都必须是纯函数,并禁止修改其自身 props 。

2、  正确地使用State(状态)。

 

  • state(状态) 更新可能是异步的,用setState() 代替;
  • state(状态) 更新可能是异步的;
// 错误
this.setState({
  counter: this.state.counter + this.props.increment,
});
// 正确
this.setState((prevState, props) => ({
  counter: prevState.counter + props.increment
}));
  • state(状态)更新会被合并;

3、  React 拥有一个强大的组合模型,建议使用组合而不是继承以实现代码的重用 

4、 应该尽量少用refs,下面有一些正好使用 refs 的场景: 

 

  • 处理focus、文本选择或者媒体播放
  • 触发强制动画
  • 集成第三方DOM库

 如果可以通过声明式实现,就尽量避免使用 refs 。例如,相比于在 Dialog 组件中暴露 open() 和 close() 方法,最好传递 isOpen 属性。

 

5、  findDOMNode()

 

 

  • findDOMNode是一个用于访问真实 DOM 节点(underlying DOM node)的接口。在大多数情况下,不建议使用它,因为它会越过组件抽象层访问真实 DOM 。
  • findDOMNode仅适用于已装载的组件(即已放置在DOM中的组件)。如果你试图在一个尚未安装的组件上调用它(就像在一个尚未创建的组件上调用 render()中的 findDOMNode() ),将抛出一个异常。
  • findDOMNode不能用于函数式组件。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值