React Intl用于国际化React组件,提供React组件和API来格式化日期,数字,字符串(包括单复数和翻译)。
React滚动条组件react-custom-scrollbars及自定义回到顶部动画
如果没有子路由,建议配上exact;如果有子路由,建议在子路由中加exact,父路由不加; 而strict是针对是否有斜杠的,路由后面有斜杠而url中没有斜杠,是不匹配的
useImperativeHandle可以让你在使用ref时自定义暴露给父组件的实例值。在大多数情况下,应当避免使用 ref 这样的命令式代码。useImperativeHandle应当与forwardRef一起使用。
试想一下: 当你更新name属性时, 重新调用render之后所有的事件处理函数重新全部定义, 非常浪费性能。解决: 当依赖的属性没有改变时, 不希望更新render时, 重新定义事件函数
Mobx-State-Tree-分配给数组类型,会提示Type 'string[]' is not assignable to type 'IMSTArray & IStateTreeNode'.
Type 'string[]' is missing the following properties from type 'IMSTArray...错误
在Vue中我们可以通过slot传递组件模板给组件,然后渲染。而React的话显然是没有插槽的概念,但其实你在组件内部中不论是写的JSX DOM 都会被传入到Props的children当中去,这就是一个类似于Vue的普通插槽的实现了。
CSS Modules加入了局部作用域、依赖管理。可以有效避免全局污染和样式冲突,能最大化地结合现有CSS生态和JS模块化能力。
useEffect(副作用函数)是一个Effect Hook,给函数组件增加了操作副作用(在 React 组件中进行数据获取、订阅或者手动修改 DOM等)的能力。它跟 class 组件中的 componentDidMount、componentDidUpdate 和 componentWillUnmount 具有相同的用途,只不过被合并成了一个 API,默认情况下,React 会在每次渲染后调用副作用函数 ,包括第一次渲染的时候,还有useEffect内的依赖(例如state)发生变化,它都会被重新调用。
React-Router是React生态的基础路由库,它通过管理URL,实现组件的切换和状态的变化。v4之前属于静态路由,而v4之后属于动态路由。