Предупреждение: Ошибка типа проп: неверная подпрограмма `somecomponentfunction` типа` function` передана в `myComponent`, ожидается` boolean` - PullRequest
0 голосов
/ 24 февраля 2020

Я сталкиваюсь с этим предупреждением и уверен, что что-то связано с PropTypes

в моем родительском компоненте somecomponentfunction и возвращает логическое значение, и я передаю то же самое дочернему компоненту

в компоненте prent

  somecomponentfunction = () => {
    this.setState({ somecomponentfunction: false })
  }

, и я перехожу к childComp onet как

<myComponent somecomponentfunction={this.somecomponentfunction} />

и в дочернем компоненте, и я просто получаю то же самое в подпорках и проверяю то же самое в PropTypes

myComponent.PropTypes={
 somecomponentfunction: PropTypes.bool,
}

Можете ли вы, ребята, сказать, что пошло не так

1 Ответ

2 голосов
/ 24 февраля 2020

Это потому, что PropTypes не выполняет вашу функцию и проверяет, является ли возвращенный результат логическим или нет. Он напрямую проверяет, какой тип носит эта опора.

То есть somecomponentfunction не логическое значение, а функция. Если вы хотите получить результат этой функции, вам нужно либо выполнить напрямую

somecomponentfunction={this.somecomponentfunction()}

, либо изменить элемент управления propType на:

somecomponentfunction: PropTypes.func
...