This project was bootstrapped with Create React App.
npx create-react-app react-workshop-2022
cd react-workshop-2022
yarn start
App is now running at http://localhost:3000.
We are going to create an Euro BTC converter application
- Add a number input with a label, "Euros".
- Extract the input into a separate component called that takes a name (eg. "Euros") prop.
- Teach input to show a red outline for negative amounts.
- Make a controlled component (ie. pass it its value as a prop).
- Add a second, read-only component that shows $BTC instead of Euros; use this function to get the exchange rate:
function exchangeRate() {
return Math.random() * 10000;
}
- Use setTimeout to make the $BTC price crash to zero after 5 seconds of inactivity.
- Use React.createContext() to provide a dark/light theme toggle.
Help:
(Context API described using React class components) https://reactjs.org/docs/context.html
(useContext hook and how to use it in functional components) https://reactjs.org/docs/hooks-reference.html#usecontext