官术网_书友最值得收藏!

Airbnb React style guide rules

The Airbnb React style guide defines tens of well-thought-out rules. This is a great resource and a foundation for your next React project. I highly recommend looking into them. You can find the Airbnb React style guide at https://github.com/airbnb/javascript/tree/master/react.

However, everyone should find their own style. Mine just adapts a few things from the Airbnb:

  • comma-dangle: Airbnb advises that you leave a trailing comma at the end of array multiline elements, lists, or object multiline key-value lists. This is not what I'm used to. I prefer the JSON style, which does not leave a trailing comma:
// My preference
const hero = {
  firstName: 'Dana',
  lastName: 'Scully'
};

const heroes = [
  'Batman',
  'Superman'
];

// Airbnb style guide
const hero = {
  firstName: 'Dana',
  lastName: 'Scully',
};

const heroes = [
  'Batman',
  'Superman',
];
  • react/jsx-filename-extension: In my opinion, this rule should be changed in the style guide. It tries to convince you to use the .jsx extension for files using JSX. I don't agree with this. I would like to quote Dan Abramov's comment on this matter:
"The distinction between .js and .jsx files was useful before Babel, but it’s not that useful anymore.

There are other syntax extensions (for example, Flow). What would you call a JS file that uses Flow? .flow.js? What about a JSX file that uses Flow? .flow.jsx? What about some other experimental syntax? .flow.stage-1.jsx?

Most editors are configurable, so you can tell them to use a JSX-capable syntax scheme for .js files. Since JSX (or Flow) are strict supersets of JS, I don’t see this as an issue."

– Dan Abramov:  https://github.com/facebook/create-react-app/issues/87#issuecomment-234627904.
  • no-use-before-define: This is a smart rule. It prevents you from using variables and functions that are defined later, besides the fact that the JavaScript hoisting mechanism lets you to do so. However, I like to put my StyleSheets in the bottom on every component file. Hence, I have relaxed this rule to allow usage of variables before their definition.

I also prefer an indentation of four spaces for clarity when I copy snippets into this book.

主站蜘蛛池模板: 诸城市| 宝鸡市| 东明县| 黑龙江省| 广西| 贡嘎县| 四川省| 赤水市| 长葛市| 苍南县| 黄龙县| 诸城市| 富川| 建阳市| 兴海县| 湘阴县| 沁阳市| 巴楚县| 桃源县| 舟山市| 阜康市| 霍邱县| 平武县| 邢台县| 漳浦县| 双辽市| 剑河县| 平凉市| 吐鲁番市| 友谊县| 淮滨县| 临泽县| 工布江达县| 繁昌县| 来凤县| 嘉兴市| 布尔津县| 藁城市| 房山区| 潼关县| 讷河市|