styled component 버튼 타입에러
import { ReactNode } from "react";
import { Link } from "react-router-dom";
import styled from "styled-components";
interface ButtonProps {
children?: ReactNode;
onClick: (e: any) => void;
type?: "link" | "button";
url?: string;
}
const StyledButton = styled.button<ButtonProps>`
outline: none;
border: none;
display: flex;
align-items: center;
justify-content: center;
`;
function Button({ children, onClick, type = "button", url }: ButtonProps) {
const RealButton = <StyledButton onClick={onClick}>{children}</StyledButton>;
const RealLink = (
<StyledButton onClick={() => {}}>
<Link to={url!}>{children}</Link>
</StyledButton>
);
return <div></div>;
}
export default Button;강의를 보고 진행하던중에 RealLink에서 타입오류나 가서 확인을 해보니
button onClick이 없으면 styled componenet에서 에러를 내는 것 같습니다. 링크로 쓰면 onClick이벤트를 전달해주면 안될 것 같은데 ()=>{} 이처럼 의미없는 함수를 넘겨주면 될까요
답변 1
0
grs0412님 질문 남겨주셔서 감사합니다:)
해당 onClick을 required하게 설정을 해놔서 생기는 타입 에러인 것 같습니다.
interface ButtonProps {
children?: ReactNode;
onClick?: (e: any) => void;
type?: "link" | "button";
url?: string;
}다음과 같이 onClick 메소드를 optional하게 받아주시기 바랍니다.
다시한번 질문 남겨주셔서 감사합니다.
계획 단계
0
14
1
저는 클로드 로고가 안떠 있어요 ㅜㅜ
0
31
1
terminl을 사용해서 cursor 명령어 입력하는데 커서가 실행되다가 자동으로 꺼집니다 왜그럴까요?
0
23
1
커서가 강의화면이랑 달라요!
0
27
1
스크립트 영상 미일치
0
42
3
감정일기장 다이어리 필터 적용할때 컨텍스트를 Home에서 가져오는 특별한 이유가 궁금합니다.
0
32
2
강사님 플랜보드 보면서 느끼는건데
0
44
1
tdd green agent 에서 문의 드립니다.
0
41
2
강의 설명 중에 헷갈리는 것이 있네요
0
37
1
22강 [토큰 저장] 질문
0
42
1
수업자료 다운로드 시 빈폴더만 나오네요
0
172
2
보일러플레이트 코드 오류
0
258
2
수업자료 오류
0
200
1
MongoDB Compass 관련 질문
0
402
1
카카오 맵 api
0
310
1
mongodb 및 mongoose 초기 세팅에서 다운로드 질문입니다
0
251
1
보일러 플레이트 다운 시 빈 폴더
0
214
1
지도가 두개가 열리는 것 같습니다
0
371
1
Node.js 버전 차이로 인한 오류 발생(추정)
0
981
2
[참고] 서버 보일러 플레이트에 axios 없네요~
0
425
1
초기 보일러플레이트 설정문제
0
560
1
serach.ts 파일 질문드립니다.
1
519
1
강의자료 소스코드 질문드립니다.
0
434
1
맵 클릭 이벤트 추가 강의와 Jotai 강의 순서에 대해 건의드립니다.
1
524
1





