Today, we will install and set up Vite with React, TypeScript, and Material UI (MUI 5). We will use React, Vite, and MUI 5.
Install React Project With Vite
Install vite via npm:
npm create vite@latestInstall vite via yarn:
yarn create viteSelect react.
? Select a framework: › - Use arrow-keys. Return to submit.
vanilla
vue
❯ react
preact
lit
svelteSelect react js with typescript.
✔ Select a framework: › react
? Select a variant: › - Use arrow-keys. Return to submit.
react
❯ react-tsMove to project directory and install dependencies.
cd react-mui
npm install
npm run dev Install React Material UI 5 (MUI)
install mui 5 via npm:
npm install @mui/material @emotion/react @emotion/styledOr install mui 5 via yarn:
yarn add @mui/material @emotion/react @emotion/styledimport mui button component in App.tsx.
import { useState } from 'react';
import reactLogo from './assets/react.svg';
import './App.css';
import { Button } from '@mui/material';
function App() {
const [count, setCount] = useState(0);
return (
<div className="App">
<div>
<a href="https://vitejs.dev" target="_blank">
<img src="/vite.svg" className="logo" alt="Vite logo" />
</a>
<a href="https://reactjs.org" target="_blank">
<img src={reactLogo} className="logo react" alt="React logo" />
</a>
</div>
<h1>Vite + React + + Typescript + MUI 5</h1>
<Button color="secondary">Secondary</Button>
<Button variant="contained" color="success">
Success
</Button>
<Button variant="outlined" color="error">
Error
</Button>
<div className="card">
<button onClick={() => setCount((count) => count + 1)}>
count is {count}
</button>
<p>
Edit <code>src/App.tsx</code> and save to test HMR
</p>
</div>
<p className="read-the-docs">
Click on the Vite and React logos to learn more
</p>
</div>
);
}
export default App;