);
// good
var multilineJsx = (
);
// good
return (
);
単行JSX省略()です.
var singleLineJsx =
Simple JSX;
// good, when single line
render() {
const body =
hello
;
return {body};
}
8.自閉ラベル
JSXのすべてのラベルは閉じなければなりません.
サブエレメントを持たないコンポーネントは、閉じたラベル/前にスペースを残す自閉法を使用します.
// bad
// very bad
// bad
// good
9.コンポーネント内部コード組織
下線接頭辞を使用してReactコンポーネントの名前を付けない方法.
// bad
React.createClass({
_onClickSubmit() {
// do stuff
}
// other stuff
});
// good
React.createClass({
onClickSubmit() {
// do stuff
}
// other stuff
});
ライフサイクルグループの順序に従ってコンポーネントを織る方法、属性;
メソッド(プロパティ)の間に空の行があります.
.render()メソッドは常に最後に配置されます.
カスタムメソッドReact APIメソッドの後、render()の前に.
// React
React.createClass({
displayName: '',
mixins: [],
statics: {},
propTypes: {},
getDefaultProps() {
// ...
},
getInitialState() {
// do something
},
componentWillMount() {
// do something
},
componentDidMount() {
// do something: add DOM event listener, etc.
},
componentWillReceiveProps() {
},
shouldComponentUpdate() {},
componentWillUpdate() {},
componentDidUpdate() {},
componentWillUnmount() {
// do something: remove DOM event listener. etc.
},
// clickHandlers or eventHandlers like onClickSubmit() or onChangeDescription()
handleClick() {
// ...
},
// getter methods for render like getSelectReason() or getFooterContent()
// Optional render methods like renderNavigation() or renderProfilePicture()
render() {
// ...
}
});