React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。
由于 React的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具。
这个项目本身也越滚越大,从最早的UI引擎变成了一整套前后端通吃的 Web App 解决方案。衍生的 React Native 项目,目标更是宏伟,希望用写 Web App 的方式去写 Native App。
如果能够实现,整个互联网行业都会被颠覆,因为同一组人只需要写一次 UI ,就能同时运行在服务器、浏览器和手机。
React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。
以下是为大家精心准备的前端开发必会之React
什么时候在功能组件( Class Component )上使用类组件( Functional Component )?
shouldComponentUpdate 是做什么的?(react 性能优化是哪个周期函数?)
(在构造函数中)调用 super(props) 的目的是什么
为什么建议传递给 setState 的参数是一个 callback 而不是一个对象
何为高阶组件(higher order component)
在 React 当中 Element 和 Component 有何区别?
(组件的)状态(state)和属性(props)之间有何区别
展示组件(Presentational component)和容器组件(Container component)之间有何区别?
类组件(Class component)和 函数式组件(Functional component)之间有何区别?
createElement 和 cloneElement 有什么区别?
欢迎大家加入开发者社群
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
很高兴看到您对React及其生态系统有如此深入的了解和兴趣!针对您的问题,我将一一提供简要答案,以帮助您更好地掌握React及其相关概念。
当你调用 setState 的时候,发生了什么事?
setState
会触发组件的状态更新。React会将新的状态与当前状态合并,并计划在未来的某个时刻重新渲染组件。这个过程可能被批量处理以提高性能,且在某些情况下(如在事件处理中)会异步执行。React 项目用过什么脚手架(本题是开放性题目)
什么时候在功能组件( Class Component )上使用类组件( Functional Component )?
React 中 keys 的作用是什么?
React 优势有哪些
react diff 原理(常考,大厂必考)
react 生命周期
shouldComponentUpdate 是做什么的?
true
表示需要更新,false
则跳过,有助于性能优化。为什么虚拟 dom 会提高性能?
React 中 refs 的作用是什么?
setState 和 replaceState 的区别
setState
用于更新组件状态并触发重渲染,可以接受一个对象或回调函数作为参数。而 replaceState
已经被废弃,原本用于替换当前状态而不合并,现在应使用 setState
并传递全新的状态对象。redux 有什么缺点
简述 flux 思想
React 中有三种构建组件的方式:
react 组件的划分业务组件技术组件?
描述事件在 React 中的处理方式
应该在 React 组件的何处发起 Ajax 请求
componentDidMount
或 useEffect
钩子)中发起Ajax请求,确保DOM已加载且组件已挂载。(在构造函数中)调用 super(props) 的目的是什么
super(props)
调用基类构造函数,以便正确初始化this.props
。除了在构造函数中绑定 this,还有其它方式吗
this
;或者在构造函数中手动绑定;使用React Hooks中的useCallback
也可以达到类似效果。为什么建议传递给 setState 的参数是一个 callback 而不是一个对象
何为高阶组件(higher order component)
何为受控组件(controlled component)
在 React 当中 Element 和 Component 有何区别?
(组件的)状态(state)和属性(props)之间有何区别
展示组件(Presentational component)和容器组件(Container component)之间有何区别?
类组件(Class component)和 函数式组件(Functional component)之间有何区别?
createElement 和 cloneElement 有什么区别?
React.createElement
用于创建React元素,它是React组件的工厂函数。React.cloneElement
则用于克隆并扩展一个React元素,可以在克隆过程中添加额外的props或子元素。您也可以通过ECS一键诊断全面排查并修复ECS问题。