Типы реквизита не распознают опору, называемую "интервалом", как логическое значение. - PullRequest
0 голосов
/ 28 марта 2020

Это компонентный вызов:

<Paper spacing>Hello</Paper>

И вот как выглядит Paper. js выглядит так:

import React from "react";
import PropTypes from "prop-types";

const Paper = ({ children, ...props }) => (
  <div {...props}>
    {children}
  </div>
);

Paper.propTypes = {
  spacing: PropTypes.bool
};

export default Paper;

Видимо, все выглядит хорошо. Но PropTypes дают мне предупреждение:

Warning: Received `true` for a non-boolean attribute `spacing`.

If you want to write it to the DOM, pass a string instead: spacing="true" or spacing={value.toString()}.
    in div (at Paper.js:5)
    in Paper (at src/index.js:9)
    in StrictMode (at src/index.js:8)

https://codesandbox.io/s/prop-types-warning-fnse0

1 Ответ

2 голосов
/ 28 марта 2020

Ошибка не имеет ничего общего с проптипами, но с тем фактом, что вы передаете логический атрибут в разметку.

Вы передаете атрибут spacing в div, который не принимает атрибут spacing , это предупреждение, что разметка не принимает логические значения в качестве значений их атрибутов. Отсюда и ошибка.

...