react的设计哲学
我们认为,React 是用 JavaScript 构建快速响应的大型 Web 应用程序的首选方式
React 最棒的部分之一是引导我们思考如何构建一个应用。
react开发应用的基本思路:
- 将设计好的 UI 划分为组件层级,至上而下,按照功能划分
- 用 React 创建一个静态版本
- 确定 UI state 的最小(且完整)表示
- 确定 state 放置的位置
- 添加反向数据流,通过显示方法来有底层触发顶层的变更
react的使用哲学
在 React 应用中,任何可变数据应当只有一个相对应的唯一“数据源”。通常,state 都是首先添加到需要渲染数据的组件中去。然后,如果其他组件也需要这个 state,那么你可以将它提升至这些组件的最近共同父组件中。你应当依靠自上而下的数据流,而不是尝试在不同组件间同步 state。
同时如果某些数据可以由 props 或 state 推导得出,那么它就不应该存在于 state 中。
- 状态提升 通常,多个组件需要反映相同的变化数据,这时我们建议将共享状态提升到最近的共同父组件中去。至上而下分发数据和方法
- props、state的独立性 尽可能的区分props和state的关联关系
- 组合模式 组件使用一个特殊的 children prop 来将他们的子组件传递到渲染结果,也可以使用约定的props来传递需要的组件实现类似插槽slots的功能;组件可以接受任意 props,包括基本数据类型,React 元素以及函数。
react的使用注意事项
react是通过前端js脚本来构建,UI = f(state);开发时需要注意的点:
- react的版本API的变化,特别是生命周期的变化
- react的合成事件和dom事件的执行时间不一致和部分表现不一致
- props和state的合理设计
- 组件的ref的合理使用和list子组件的key的唯一性