博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React
阅读量:6615 次
发布时间:2019-06-25

本文共 1119 字,大约阅读时间需要 3 分钟。

可以使用setTimeout强制setState实时刷新

服务器端渲染

  • 缩短“第一有意义渲染时间”(First-Meaningful-Paint-Time

  • 更好的搜索引擎优化(Search-Engine-Optimization,SEO)

react生命周期

React的未来

  • 异步渲染
  • suspense带来的改变,componentDidCatch
  • 函数化的hooks

React组件设计模式

react与原生jquery最大的优势在于:

1.react以数据驱动生成,react帮助我们渲染html,而原生需要我们自己写好元素后再注入进去 2.组件化思想

  • 聪明组件和傻瓜组件 最本质的区别就是是否有生命周期,傻瓜组件是没有实例的,就是没有this生成,而聪明组件有状态维护。
  • 高阶组件
  • render props
  • 提供者模式
  • 组合模式
class Tabs extends React.Component {  state = {    activeIndex:  0  }  render() {    const newChildren = React.Children.map(this.props.children, (child, index) => {      if (child.type) {        return React.cloneElement(child, {          active: this.state.activeIndex === index,          onClick: () => this.setState({activeIndex: index})        });      } else {        return child;      }    });    return (      
{newChildren}
); }}复制代码

1.React.Children.map

2.React.cloneElement

使用 React.Children.map,可以遍历 children 中所有的元素,因为 children 可能是一个数组嘛。

使用 React.cloneElement 可以复制某个元素。这个函数第一个参数就是被复制的元素,第二个参数可以增加新产生元素的 props,我们就是利用这个机会,把 active 和 onClick 添加了进去。

仅用于个人整理,参考

转载于:https://juejin.im/post/5cb354055188251b117f8507

你可能感兴趣的文章
Linux下安装Python-3.3.2【转】
查看>>
LeetCode OJ:Merge Two Sorted Lists(合并两个链表)
查看>>
功能测试
查看>>
【BZOJ 1901】Dynamic Rankings
查看>>
Github-Client(ANDROID)开源之旅(二) ------ 浅析ActionBarSherkLock
查看>>
React-Native 之 GD (十六)首页筛选功能
查看>>
SSISDB5:使用TSQL脚本执行Package
查看>>
asp.net后台进程做定时任务
查看>>
java接口中多继承的问题
查看>>
索引笔记《二》确定需要建立索引的列
查看>>
libjpeg的问题
查看>>
嵌入式 详解udev
查看>>
云安全:这也是需要花大钱去建设的部分
查看>>
中国电信集采终端6700万部 金额达1070亿元
查看>>
2016年的十个数据中心故事
查看>>
《Java并发编程的艺术》一一3.3 顺序一致性
查看>>
《设计之外——比修图更重要的111件事》—第1部分3 虚心学习
查看>>
EVCache —— Netflix 的分布式内存数据存储
查看>>
springboot docker笔记
查看>>
服务化改造实践 | 如何在 Dubbo 中支持 REST
查看>>