Каким должен быть тип поддержки передачи переменной в дочерний компонент через функцию - PullRequest
0 голосов
/ 03 апреля 2020

С учетом следующего компонента:

Component.propTypes = {
  // not right:
  children: PropTypes.oneOfType([
    PropTypes.arrayOf(PropTypes.node),
    PropTypes.node,
  ]),
}

export default function Component({ children }) {
  return children({ someValue: "foobar" });
}
AnotherComponent.propTypes = {
  value: PropTypes.string,
}

export default function AnotherComponent({ value }) {
  return <p>{value}</p>
}

Используется как:

<Component>
 {(someValue) => (<AnotherComponent value={someValue} />)}
</Component>

Дает ошибку: Warning: Failed prop type: Invalid prop 'children' supplied to 'Component'.

Что такое тип для это?

1 Ответ

0 голосов
/ 03 апреля 2020

Попробуйте PropTypes.func:

Component.propTypes = {
  children: PropTypes.func
};

Edit great-bird-qusxk

Что касается "реального" примера, вы можете проверить children тип AutoSizer [2]

...