File and folder naming convention for React.js components
/actions/...
/components/common/Link.js
/components/common/...
/components/forms/TextBox.js
/components/forms/TextBox.res/style.css
/components/forms/TextBox.locale/en-US/...
/components/forms/...
/components/layout/App.js - The top-level React component
/components/layout/App.res/style.css
/components/layout/App.locale/en-US/...
/components/layout/Navigation.js
/components/layout/Navigation.res/style.css
/components/layout/Navigation.res/data.json
/components/layout/Navigation.locale/en-US/...
/components/layout/...
/components/pages/Home.js
/components/pages/Home.css
/components/pages/Account/index.js
/components/pages/Account/index.css
/components/pages/...
/core/...
/constants/...
/stores/...
/actions/...
/components.common/Link.js
/components.common/...
/components.forms/TextBox.js
/components.forms/TextBox.css
/components.forms/...
/components.layout/App.js
/components.layout/Navigation.js
/components.layout/...
/components.pages/Home.js
/components.pages/Home.css
/components.pages/Account/index.js
/components.pages/Account/index.css
/components.pages/...
/core/...
/constants/...
/stores/...
CSS class names should be prefixed with a single letter corresponding to the component's type.
For example:
Component: /components/forms/TextBox.js
, CSS class name: f-textbox { ... }
Component: /components/layout/Navigation.js
, CSS class name: l-nagiation { ... }
lol @parabuzzle,
I do not see a reason you would create
/components/forms/TextBox.js
and/components/forms/textbox.js
in the same directory.Following your example with developers, it is for this same reason guides and conventions exist. If the developers are educated and confirm to the guide, that would never happen. You can also write scripts to check the naming structure if you're working a huge team with risks of some not being aware.