문제점 : 다음과 같이 버튼을 만들었는데 button 기능이 작동이 안됨
import React from "react";
import { useNavigate } from "react-router-dom";
import styled from "styled-components";
import Logo from "../components/Logo";
import MainButton from "../components/MainButton";
const Home = () => {
const navigate = useNavigate();
return (
<div>
<MainHead>
<Logo />
<ButtonContainer>
<MainButton>로그인</MainButton>
<MainButton onClick={() => navigate("/SignUp")}>회원가입</MainButton>
<MainButton onClick={() => navigate("/List")}>문제풀기</MainButton>
<MainButton onClick={() => navigate("/Post")}>퀴즈만들기</MainButton>
</ButtonContainer>
</MainHead>
</div>
);
};
해결방법 : component로 만든 버튼에서 함수를 쓸려면 props를 받아야 한다.
const MainButton = (props) => {
return <MainButtonStyle {...props}> {props.children}</MainButtonStyle>;
};
export default MainButton;
아래와 같이 props로 함수를 받아줘야지만 기능이 작동한다.
(MainButtonStyle은 스타일드 컴퍼넌트이다. )
'TIL > 항해산 TIL' 카테고리의 다른 글
| 42일차 로그인 기능 구현하기(리덕스 툴킷, axios, sessionStorage) (0) | 2023.01.15 |
|---|---|
| TIL 41일차 modal 에러 해결- 추후 알아봐야 할 듯 (0) | 2023.01.14 |
| TIL 39일차 리덕스 툴킷 활용 및 코드 피드백. (0) | 2023.01.13 |
| 38 내 페이지의 edit 기능 구현하기 (0) | 2023.01.11 |
| 37일차 react로 페이지 만들기 2일차 -옵셔널 체이팅 (0) | 2023.01.10 |