Параметр propsв Next.js относится к свойствам, передаваемым компоненту React во время рендеринга на стороне сервера (SSR) или генерации статического сайта (SSG). Это объект, содержащий пары ключ-значение, представляющие данные и функции, которые передаются от родительского компонента дочернему компоненту.
В Next.js существуют различные методы определения типа параметра props. Давайте рассмотрим некоторые из них на примерах кода:
-
Использование интерфейса TypeScript:
interface MyComponentProps { name: string; age: number; } const MyComponent: React.FC<MyComponentProps> = ({ name, age }) => { return ( <div> <p>Name: {name}</p> <p>Age: {age}</p> </div> ); }; -
Использование типов свойств:
import PropTypes from 'prop-types'; const MyComponent = ({ name, age }) => { return ( <div> <p>Name: {name}</p> <p>Age: {age}</p> </div> ); }; MyComponent.propTypes = { name: PropTypes.string.isRequired, age: PropTypes.number.isRequired, }; -
Встроенные аннотации типа (Flow):
const MyComponent = ({ name, age }: { name: string, age: number }) => { return ( <div> <p>Name: {name}</p> <p>Age: {age}</p> </div> ); }; -
Встроенные аннотации типов (синтаксис типа PropTypes):
const MyComponent = ({ name, age }: { name: string, age: number }) => { return ( <div> <p>Name: {name}</p> <p>Age: {age}</p> </div> ); }; MyComponent.propTypes = { name: PropTypes.string.isRequired, age: PropTypes.number.isRequired, };
Это некоторые из распространенных методов определения типа параметра propsв Next.js. Вы можете выбрать тот, который соответствует требованиям вашего проекта и настройке разработки.