
제목: ‘computedMatch’ Prop을 인식하지 못하는 ‘React’ 경고 메시지 수정하기
소개
React와 React Router DOM을 사용하는 경우, “React does not recognize the `computedMatch` prop on a DOM element”라는 경고 메시지를 만날 수 있습니다. 이 경고는 주로 최신 버전의 React Bootstrap과 React Router DOM을 함께 사용할 때 Breadcrumb 컴포넌트를 사용할 때 발생합니다. 이 블로그 글에서는 이 경고의 원인을 알아보고 수정하는 방법을 제공하겠습니다.
경고: ‘computedMatch’ Prop 인식 불가
React 애플리케이션을 검사하면 Breadcrumb 컴포넌트의 루트 `
- ` 요소에 `computedMatch`라는 이상한 속성을 발견할 수 있습니다. 이는 예상되지 않은 동작이며 경고를 유발시킵니다. 이 ‘computedMatch’ prop이 나타나는 이유와 해결 방법에 대해 알아봅시다.
원인: Breadcrumb 컴포넌트를 잘못 사용함
이 경고는 React Bootstrap의 Breadcrumb 컴포넌트가 Switch 컴포넌트 내에 있는 단순히 `
해결 방법: Breadcrumb 컴포넌트 재구조화
이 경고를 해결하기 위해 Breadcrumb 컴포넌트의 구조를 수정해야 합니다. 다음은 수정된 코드입니다:
<Router>
<Breadcrumb computedMatch={undefined}>
<Breadcrumb.Item componentClass="span">
<Link to="/">홈</Link>
</Breadcrumb.Item>
<Breadcrumb.Item componentClass="span">
<Link to="/">리액트</Link>
</Breadcrumb.Item>
<Breadcrumb.Item active={false} componentClass="span">
<Link to="/name">저자</Link>
</Breadcrumb.Item>
</Breadcrumb>
<Switch>
<Route path="/:name" component={gridInstance} />
</Switch>
</Router>
설명: 컴포넌트 재배치
수정된 구조에서는 `
대안: CSS를 이용한 Breadcrumb
React Bootstrap의 Breadcrumb 컴포넌트를 사용하지 않고 CSS 클래스로 브레드크럼을 만들고 싶다면 다음 방법을 사용할 수 있습니다:
const MyBreadcrumb = () => (
<Router>
<div>
<ol className="breadcrumb">
<li>
<Link to="/">홈</Link>
</li>
<li>
<Link to="/about">소개</Link>
</li>
<li>
<Link to="/topics">주제</Link>
</li>
</ol>
<hr />
</div>
</Router>
);
이렇게하면 Bootstrap v3의 breadcrumb CSS 클래스를 사용하여 브레드크럼을 간단히 만들 수 있고 React Bootstrap의 Breadcrumb 및 Breadcrumb.Item 컴포넌트에 의존할 필요가 없습니다. 이 대체 방법을 사용하면 예상치 못한 동작이나 경고를 피할 수 있습니다.
요약
React Bootstrap의 Breadcrumb 컴포넌트에서 “React does not recognize the `computedMatch` prop” 경고가 발생하는 경우, `
‘React does not recognize the `computedMatch` prop on a DOM element’ 경고의 문제를 효과적으로 해결하기 위한 문제 해결 가이드를 마치며 이 블로그 글이 필요한 통찰력을 제공했기를 바랍니다.