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

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.

主站蜘蛛池模板: 嘉义县| 东光县| 通江县| 康平县| 陇西县| 江都市| 蕉岭县| 洮南市| 梓潼县| 巴彦县| 牟定县| 延寿县| 苍梧县| 兰州市| 萝北县| 武穴市| 嘉峪关市| 全南县| 社旗县| 贡觉县| 新河县| 南郑县| 社会| 呼和浩特市| 茂名市| 得荣县| 临澧县| 威海市| 凌源市| 吴旗县| 沈丘县| 内乡县| 卓资县| 萨嘎县| 安阳县| 凤城市| 如东县| 乌恰县| 平顶山市| 青州市| 宜兰县|