Как в PropTypes обозначить необязательный параметр?

Описываю шаблонный компонент, который будет применяться в разных частях проекта, его входящие параметры и описываю эти параметры через PropTypes. В разных частях проекта передаваемые параметры в этот компонент будут разные, так как это отразить в шаблоне? надо же прописать, что какая-то часть необязательна - с помощью вопросительного знака при описании в PropTypes светит ошибку. И надо в шаблоне в сам компонент передавать все принимаемые по props параметры?

import React from 'react';
import { DatePicker } from 'rsuite';
import { locale } from 'constants/datePickerLocale';
import isEqual from 'deep-equal';
import pt from 'prop-types';

const DateField = ({
  value = null,
  defaultValue = null,
  format,
  changeHandler = undefined,
  block = false,
  size = null,
  placement = null
}) => {
  return (
    <DatePicker
      format={format}
      locale={locale}
      value={value}
      defaultValue={defaultValue}
      onChange={changeHandler}
      block={block}
      size={size}
      placement={placement}
      isoWeek
    />
  );
};

DateField.propTypes = {
  value: pt.instanceOf(Date),
  defaultValue: pt.instanceOf(Date),
  format: pt.string,
  changeHandler: pt.func,
  block: pt.bool,
  size: pt.string,
  placement: pt.string
};

export default React.memo(DateField, isEqual);
  • Вопрос задан
  • 842 просмотра
Пригласить эксперта
Ответы на вопрос 1
vovaspace
@vovaspace
Frontend Engineer
DateField.propTypes = {
  // Необязательные
  propA: pt.string,

  // Обязательные
  propB: pt.string.isRequired,
};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы