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

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.

主站蜘蛛池模板: 永德县| 鄯善县| 富源县| 兴业县| 乌拉特后旗| 正镶白旗| 绥棱县| 枣庄市| 台中县| 抚远县| 利津县| 京山县| 镇坪县| 定西市| 塘沽区| 西乌珠穆沁旗| 萨嘎县| 搜索| 胶州市| 巧家县| 垫江县| 江西省| 宁国市| 怀仁县| 台东市| 聂荣县| 竹溪县| 肇州县| 本溪| 蒙山县| 南澳县| 仪陇县| 嘉兴市| 昌黎县| 威远县| 阳谷县| 吴川市| 靖安县| 临泉县| 邻水| 买车|