iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0

咒語: 請幫我 使用mui組件 優化上述內容 並且加入CSS排版

解析: 使用UI套件 跟AI生成的CSS 完成畫面
先安裝該有套件

npm install @mui/material @mui/icons-material react-router-dom

再更動App.jsx

import React from 'react';
import { BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom';
import { AppBar, Toolbar, Typography, Container, Button } from '@mui/material';
import styled from 'styled-components';

// 首頁組件
function Home() {
  return <h2>首頁</h2>;
}

// 登入組件
function Login() {
  return <h2>登入</h2>;
}

// 商品介紹組件
function Product() {
  return <h2>商品介紹</h2>;
}

// 購物車頁面組件
function Cart() {
  return <h2>購物車頁</h2>;
}

const AppWrapper = styled.div`
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 20px;
`;

const StyledAppBar = styled(AppBar)`
  background-color: #2196f3;
`;

const NavLinks = styled.div`
  ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    gap: 20px;

    li {
      a {
        text-decoration: none;
        color: white;
        &:hover {
          text-decoration: underline;
        }
      }
    }
  }
`;

function App() {
  return (
    <Router>
      <StyledAppBar position="static">
        <Toolbar>
          <Container>
            <Typography variant="h6" component="div">
              <Link to="/" style={{ color: 'inherit', textDecoration: 'none' }}>
                My App
              </Link>
            </Typography>
            <NavLinks>
              <ul>
                <li>
                  <Link to="/">首頁</Link>
                </li>
                <li>
                  <Link to="/login">登入</Link>
                </li>
                <li>
                  <Link to="/product">商品介紹</Link>
                </li>
                <li>
                  <Link to="/cart">購物車</Link>
                </li>
              </ul>
            </NavLinks>
          </Container>
        </Toolbar>
      </StyledAppBar>
      <Container>
        <AppWrapper>
          <Routes>
            <Route path="/" element={<Home />} />
            <Route path="/login" element={<Login />} />
            <Route path="/product" element={<Product />} />
            <Route path="/cart" element={<Cart />} />
          </Routes>
        </AppWrapper>
      </Container>
    </Router>
  );
}

export default App;


補述:這裡的樣式的可能不符預期
會把原本vite的 index.css /* :root 註解掉
以及body 的 /* place-items: center; */

並且加上

#root {
  width: 100%;
}

上一篇
[Day3] 扮演遊戲
下一篇
[Day5 ] 首頁展開 領域鍊成
系列文
I have an AI ,I have a React, Ugh ,AI -React 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言