react/forbid-elements 제한
작동 방식
금지할 요소 목록을 구성하고, 해당 요소의 대체 요소를 지정할 수 있도록 합니다.
왜 문제인가요?
특정 요소 사용을 금지하고 다른 요소로 대체하고 싶을 수 있습니다. 예를 들어, 모든 <div /> 사용을 금지하고 <Box /> 사용으로 대체하는 경우입니다.
예시
이 규칙에 대한 잘못된 코드 예시:
jsx
// ["error", { "forbid": ["button"] }]
<button />;
React.createElement("button");
// ["error", { "forbid": ["Modal"] }]
<Modal />;
React.createElement(Modal);
// ["error", { "forbid": ["Namespaced.Element"] }]
<Namespaced.Element />;
React.createElement(Namespaced.Element);
// ["error", { "forbid": [{ "element": "button", "message": "use <Button> instead" }, "input"] }]
<div>
<button />
<input />
</div>;
React.createElement("div", {}, React.createElement("button", {}, React.createElement("input")));이 규칙에 대한 올바른 코드 예시:
jsx
// ["error", { "forbid": ["button"] }]
<Button />
// ["error", { "forbid": [{ "element": "button" }] }]
<Button />구성
이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.
forbid
type: array
금지할 요소 목록이며, 린트 위반 시 표시할 메시지가 옵션으로 포함될 수 있습니다.
예시:
["error, { "forbid": ["button"] }]["error, { "forbid": [{ "element": "button", "message": "Use <Button> instead." }] }]["error, { "forbid": [{ "element": "input" }] }]
forbid[n]
type: object | string
단순한 요소 이름 또는 사용자 정의 메시지와 함께 금지된 요소입니다.
forbid[n].element
type: string
forbid[n].message
type: string
사용 방법
이 규칙을 설정 파일이나 명령줄 인터페이스에서 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["react"],
"rules": {
"react/forbid-elements": "error"
}
}bash
oxlint --deny react/forbid-elements --react-plugin