警告:收到非布尔属性的“false”。如何为自定义布尔属性传递布尔值?

IT技术 reactjs styled-components react-16
2021-05-14 01:48:36
Warning: Received `false` for a non-boolean attribute `comingsoon`.

If you want to write it to the DOM, pass a string instead: 
comingsoon="false" or comingsoon={value.toString()}.

如何在 React 的自定义属性中传递布尔值?

我正在使用样式组件并通过组件传递属性。这是我如何传递 attr 的图片。

将布尔自定义属性传递为“即将到来”

样式化组件 css props

4个回答

试试这个:

comingsoon={value ? 1 : 0}

由于5.1你现在可以使用短暂的props$),以防止被传递到DOM元素的props。

const Comp = styled.div`
  color: ${props =>
    props.$draggable || 'black'};
`;

render(
  <Comp $draggable="red" draggable="true">
    Drag me!
  </Comp>
);

您必须$为属性添加前缀:

$comingsoon={value}

Styled Components 在 5.1 版本中添加了瞬态props:https : //styled-components.com/docs/api#transient-props

就我而言,这是因为我不小心传入{...@props}了一个 div。

通常传递attribute={false}是好的,但不是原生元素。