react笔记

1.redux中间件的原理是什么
改装dispatch,
中间件(action和store之间 )。沟通的桥梁就是dispatch
【react笔记】正常情况action传递给store必须是个对象,但是用中间件可以帮忙把函数式的action转换成对象再传递给store
看一下redux-thunk的源码
2.你会把数据统一放到redux中管理,还是把共享数据放在redux中管理?
所有数据:1.为了保证数据处理的一致性。2.当之前自己的数据变成公用数据就会很麻烦。结合immutable.js进行最佳体验的数据状态管理
3.componentWillReceiveProps 的调用时机
当props改变的时候,第一次不会调用
4.react性能优化的最佳实践
PureComponent和immutable.js结合使用
5.虚拟dom是什么?为什么虚拟dom会提升代码性能
js对象 。真实dom比对上面有各种属性,绑定事件,如果直接比对会非常耗费性能
关于key?
如果key值相同,就可以复用之前的dom,也不用循环比对。diff算法就是,如果一层发现有问题,就不往下比了,同层比对,这样就降低了复杂度
6.webpack中,是借助loader完成的jsx代码转换还是babel?
1.babel-preset-react
7.调用setState后,发生了什么?
调和。注:养成好的习惯改成函数式返回对象的形式。
如何同步获取setState改变后的属性?使用回调函数。切忌使用settimeout!
8.setState是异步的,这个点你在什么时候遇到过坑
9.refs的作用是什么,你在什么业务场景下使用过refs?
“放大镜”,获取图片宽高
10.ref是一个函数,有什么好处?
有效的清空引用里面的东西,防止内存泄漏
11.高阶组件你是怎么理解的,它本质是一个什么东西?
本质是一个函数。
高阶组件地狱怎么办?hooks
12.受控组件和非受控组件
数据控制dom;直接通过refs控制dom,脱离数据
13.函数组件和hooks
14.this指向问题你一般怎么解决
箭头函数,bind
15.函数组件怎么做性能优化
React.memo把函数组件进行包裹
16.哪个生命周期发送ajax?
compoentDidMout
ssr项目时,CompoentWillMount要做服务端数据的获取,所以不能被占用
17.ssr的原理是什么?
借助虚拟DOM
18.redux-saga的设计思想是什么?什么是sideEffects
19.react,jquery,vue可以共存在一个项目吗?



20.组件是什么?类是什么?类被编译成什么?
组件是页面的一部分,类是一个构造函数
21.你是如何跟着社区成长的?
react官方团队的推特
22.如何避免ajax数据重新获取
redux管理
23.react-router4 的核心思想是什么,和3有什么区别?
组件式的路由思想
24.reselect是做什么使用的?
计算属性,
25.hashHistory,browserHistory
browserHistory需要后端一同配制,hashHistory完全可以依赖前端
26.什么情况下使用异步组件
项目很大时
reloadable 库
路由懒加载,按需加载
27.xss攻击在react如何防范?
慎用dangerouslySetInnerHTML={{alert}}
28.immutable.js和redux最佳实践

    推荐阅读