クラスを使用せずに、reactの機能的なステートレスコンポーネントでPropTypeを使用するにはどうすればよいですか?
export const Header = (props) => (
<div>hi</div>
)
クラスを使用せずに、reactの機能的なステートレスコンポーネントでPropTypeを使用するにはどうすればよいですか?
export const Header = (props) => (
<div>hi</div>
)
回答:
公式ドキュメントは ES6コンポーネントクラスでこれを行う方法を示しているが、同じことはステートレス機能部品に適用されます。
まず、npm install
/ まだ行っていない場合yarn add
は、新しいprop-typesパッケージ。
次に、ステートレス機能コンポーネントを定義した後、エクスポートする前に、propTypes(および必要に応じてdefaultPropsも)を追加します。
import React from "react";
import PropTypes from "prop-types";
const Header = ({ name }) => <div>hi {name}</div>;
Header.propTypes = {
name: PropTypes.string
};
// Same approach for defaultProps too
Header.defaultProps = {
name: "Alan"
};
export default Header;
ステートフルでも同じです。次のように追加できます。
import PropTypes from 'prop-types';
Header.propTypes = {
title: PropTypes.string
}
ここにprop-types npm へのリンクがあります
PropTypes
あなたはオフのままにしたいと思うでしょう。その場合には、独自にReact
、ちょうど持っているtitle: PropTypes.string
クラスベースのコンポーネントで行うのと同じ方法で行われます
import PropTypes from "prop-types";
const = function_name => {}
function_name.propTypes = {
prop_name : PropTypes.number
. . . . . . . . . . . . . .
}
お役に立てれば !