$ npm install
$ cp .env.example .env
$ npm run start
You can update the styles/index.scss
or create new .scss
files inside styles/
and import them into your current scss or js files depending on your needs.
Add more files into your ./src/js/components
or styles folder as you need them and import them into your current files as needed.
Note (New changes): Components have been converted into functions to support the use of hooks:
const
function.constructor
and state
have been replaced by useState()
hooks.componentDidMount()
was replaced by useEffect({}, [])
- It runs at mount thanks to the second parameter ([]
).Actions
and Store
still work the same way.// Previous "Class Oriented"
export class Demo extends React.Component {
constructor(props) {
super(props);
this.state = getState('code here');
}
}
// New "Functional Oriented"
export const Demo = () => (
const [state, setState] = getState('code here'); //using the state (if needed)
const { store, actions } = useContext(Context); // using the context (if needed)
);
💡Note: There is an example using the Context API inside views/demo.js
;
Add more files into your ./src/js/views
and import them in ./src/js/layout.jsx
.
This boilerplate comes with a centralized general Context API. The file ./src/js/store/flux.js
has a base structure for the store, we encourage you to change it and adapt it to your needs.
React Context docs BreathCode Lesson view
The Provider
is already set. You can consume from any component using the useContext hook to get the store
and actions
from the Context. Check /views/demo.js
to see a demo.
import { Context } from "../store/appContext";
const MyComponentSuper = () => {
//here you use useContext to get store and actions
const { store, actions } = useContext(Context);
return <div>{/* you can use your actions or store inside the html */}</div>
}
Login (you need to have an account):
$ npm i vercel -g && vercel login
Deploy:
$ vercel --prod
✎ Note: If you don't have an account just go to vercel.com, create a account and come back here.
$ npm run deploy
Note: You will need to configure github pages for the branch gh-pages