🙄 오늘 하려고 했는데 못한 것

<h3>Introduction</h3>
<h3>Body</h3>
<h3>Conclusion</h3>
body {
counter-reset: section; /* counter 이름을 'section'으로 지정합니다.
초깃값은 0입니다. */
}
h3::before {
counter-increment: section; /* section의 카운터 값을 1씩 증가시킵니다. */
content: "Section " counter(section) ": "; /* section의 카운터 값을 표시합니다. */
}
yarn add react-redux
yarn add @reduxjs/toolkit
import { createSlice } from "@reduxjs/toolkit";
const uiSlice = createSlice({
name: "ui",
initialState: { cartIsVisible: false },
reducers: {
toggle(state) {
state.cartIsVisible = !state.cartIsVisible;
},
},
});
export const uiAction = uiSlice.actions;
export default uiSlice;
import { configureStore } from "@reduxjs/toolkit";
import uiSlice from "./ui-slice";
const store = configureStore({
reducer: {
ui: uiSlice.reducer,
},
});
export default store;
import ReactDOM from "react-dom/client";
import { Provider } from "react-redux";
import "./index.css";
import App from "./App";
import store from "./store";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<Provider store={store}>
<App />
</Provider>
);
import { useDispatch } from "react-redux";
import { uiAction } from "../../store/ui-slice";
import classes from "./CartButton.module.css";
const CartButton = (props) => {
const dispatch = useDispatch();
const toggleCartHandler = () => {
dispatch(uiAction.toggle());
};
return (
<button className={classes.button} onClick={toggleCartHandler}>
<span>My Cart</span>
<span className={classes.badge}>1</span>
</button>
);
};
export default CartButton;
import { useSelector } from "react-redux";
import Cart from "./components/Cart/Cart";
import Layout from "./components/Layout/Layout";
import Products from "./components/Shop/Products";
function App() {
const showCart = useSelector((state) => state.ui.cartIsVisible);
return (
<Layout>
{showCart && <Cart />}
<Products />
</Layout>
);
}
export default App;
헝 정신 없어