69 lines
1.3 KiB
Plaintext
69 lines
1.3 KiB
Plaintext
![]() |
The following order represents what is commonly expected by ReactJS developers.
|
||
|
|
||
|
Not following this convention has no technical impact, but will reduce the class's readability because most developers are used to this standard order.
|
||
|
|
||
|
|
||
|
1. ``++static++`` methods
|
||
|
|
||
|
2. the ``++constructor++``
|
||
|
|
||
|
3. ``++getChildContext()++``
|
||
|
|
||
|
4. ``++componentWillMount()++``
|
||
|
|
||
|
5. ``++componentDidMount()++``
|
||
|
|
||
|
6. ``++componentWillReceiveProps()++``
|
||
|
|
||
|
7. ``++shouldComponentUpdate()++``
|
||
|
|
||
|
8. ``++componentWillUpdate()++``
|
||
|
|
||
|
9. ``++componentDidUpdate()++``
|
||
|
|
||
|
10. ``++componentWillUnmount()++``
|
||
|
|
||
|
11. clickHandlers or eventHandlers such as ``++onClickSubmit()++`` or ``++onChangeDescription()++``
|
||
|
|
||
|
12. getter methods for render such as ``++getSelectReason()++`` or ``++getFooterContent()++``
|
||
|
|
||
|
13. optional render methods such as ``++renderNavigation()++`` or ``++renderProfilePicture()++``
|
||
|
|
||
|
14. ``++render()++``
|
||
|
|
||
|
|
||
|
== Noncompliant Code Example
|
||
|
|
||
|
----
|
||
|
export default class MyApp extends React.PureComponent {
|
||
|
|
||
|
render() { // Noncompliant
|
||
|
}
|
||
|
...
|
||
|
componentDidMount() {
|
||
|
}
|
||
|
}
|
||
|
----
|
||
|
|
||
|
|
||
|
== Compliant Solution
|
||
|
|
||
|
----
|
||
|
export default class MyApp extends React.PureComponent {
|
||
|
|
||
|
componentDidMount() {
|
||
|
}
|
||
|
...
|
||
|
render() {
|
||
|
}
|
||
|
}
|
||
|
----
|
||
|
|
||
|
|
||
|
ifdef::env-github,rspecator-view[]
|
||
|
== Comments And Links
|
||
|
(visible only on this page)
|
||
|
|
||
|
include::comments-and-links.adoc[]
|
||
|
endif::env-github,rspecator-view[]
|