决定系列:在技巧开辟的过程中我们会见临着各类各样的决定,我们在不合情境下该若何选择恰当的技巧,这是本系列文┞仿想要解决的问题。
在 React 开辟的过程中我们经常会碰到一些决定,下面我将拔取个一一些小我认为重要的决定来一一分析。但请记住以下所说的都只是的建议,可能有一些方面也没有推敲到,大年夜家照样须要根据实际情况本身选择最合适的,切勿与世浮沉。
决定 1:开辟情况搭建
当开端React开辟之前,你或你的团队必须先斟灼揭捉?择什么样的开辟情况,先高兴的呈上群众的选择图。
通用处景建议应用 create-react-app,它将知足你大年夜部分的开辟需求。如不雅默认设备不克不及知足你的需求,运行 npm run eject 按需修改你的设备吧(温馨提示:此过程式弗成回退的)。
其他可替代
- Gatsby 实用于开辟静态网站
- Next.js 实用于前后端同构筹划
如不雅以上皆不克不及知足你的需求时,亲,本身着手,丰衣足食。
决定 2:类型
JavaScript 是弱类型说话,你可能忽视类型检查,也可能须要引仁攀类型检查。下图是群众的选择图,你将若何选择?
如不雅你懒得折腾,那 prop-types 可以知足你的类型验证,也会避免大年夜部分的类型问题。
如不雅你爱好折腾,寻求完美,没有问题还有下面两种选择:
- TypeScript JavaScript 的超集,最终可编译成清楚与整洁的原生JavaScript代码.
- Flow 为 Javascript 添加静态类型检查,用于进步开辟者的效力与代码质量。
决定 3:ES5(createClass) VS ES6(class)
如不雅你开辟情况应用的是ES5语法,那你没灯揭捉?择只能应用createCalss,推荐官方文┞仿《非ES6情况下若何应用React》
每个组件在其零丁的文件夹,更具体可浏览
- Writing Scalable React Apps with the Component Folder Pattern
- The 100% correct way to structure a React app (or why there’s no such thing
如不雅你开辟情况应用ES6语法,强烈建议应用 class,应用起来更简单,Facebook 也推荐应用 Class,示例代码如下:
- src/
- |- App.js
- |- RewarmSearch/
- |- index.js
- |- View.js
- |- SearchInput.js
- |- Image.js
- |- Loading.js
- |- Error.js
- |- loadData.js
- class SayHello extends React.Component {
- constructor(props) {
- super(props);
- this.state = {message: 'Hello!'};
- }
- render() {
- return (
- <p>
- Say: {this.state.message}
- </p>
- );
- }
- }
决定 4:类 VS 纯函数
如不雅你不须要应用生命周期,尽可能应用无状况纯函数(Stateless functional components:react-v0.14版本添加的新特点)。
无状况纯函数简单例子:
- // 无状况纯函数组件,应用 ES5
- var Aquarium = function(props) {
- var fish = getFish(props.species);
- return <Tank>{fish}</Tank>;
推荐阅读
放弃uuid(guid)的应用数据库的治理是一个异常专业的工作,对数据库的调优、监控一般是由数据库工程师完成,然则开辟人员也经常与数据库打交道,即使是简单的增删改查也是有很多桥绫桥,这里,一路来聊聊>>>详细阅读
本文标题:React开发中面临的九个重要抉择
地址:http://www.17bianji.com/lsqh/38432.html
1/2 1