Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有单个子级的反应组件=>;无法将符号值转换为字符串_Javascript_Reactjs_Styled Components - Fatal编程技术网

Javascript 带有单个子级的反应组件=>;无法将符号值转换为字符串

Javascript 带有单个子级的反应组件=>;无法将符号值转换为字符串,javascript,reactjs,styled-components,Javascript,Reactjs,Styled Components,我在反应中遇到了一个让我困惑的问题 我想创建一个组件,它基本上是围绕其子级的包装器。比如说一个简单的按钮组件 <Button {...props} circular radius="small"> <Icon type="close" /> </Button> 然而,这是疯狂的部分,当我渲染多个孩子,即孩子时,它会神奇地工作 <Button {...props} circular radius="small"> <Icon type

我在反应中遇到了一个让我困惑的问题

我想创建一个组件,它基本上是围绕其子级的包装器。比如说一个简单的按钮组件

<Button {...props} circular radius="small">
  <Icon type="close" />
</Button>
然而,这是疯狂的部分,当我渲染多个孩子,即孩子时,它会神奇地工作

<Button {...props} circular radius="small">
  <Icon type="close" />
  <Icon type="close" />
</Button>

=>没有错误

到底发生了什么事?为什么React试图将我的React元素(它首先包装为符号)转换为字符串?什么是符号?如果有人能启发我,那就太棒了:)现在我渲染一个空的
,以避免这个问题

i、 e



现在这是我的
组件。我知道我可以直接导出这个按钮。但我以后要做的是组合组件。目前,我只能通过渲染至少2个子对象来运行它。我不明白渲染一个孩子是如何导致这个问题的-

const RawButton = styled.button`
  border-radius: ${props => (props.circular ? '50%' : BORDER_RADIUS)};
`;

export default (props) =>
  <RawButton {...props}>
    <span />
    {props.children}
  </RawButton>
const RawButton=styled.button`
边界半径:${props=>(props.circular?'50%':边界半径)};
`;
导出默认值(道具)=>
{props.children}

按钮是您的自定义组件,propsI中的所有对象都希望看到
-组件的渲染方法。希望您尝试渲染
子对象
,即使您知道
子对象
由一个子对象组成。好的,我需要给您完整的图片。我使用的是样式化组件。我将
圆形
半径
道具传递到包装器中,并在组件内部呈现
道具。儿童
。嘿,感谢@VivekN提供您的帮助。你以前鼓励我自己尝试。然后,我通过拉姆达设置的按钮,在我的RawButton中找到了一个道具。我不正确地使用了拉姆达的咖喱功能。问题解决:)谢谢大家。@soosap太好了。乐于助人……)按钮是您的自定义组件以及propsI中的所有对象。我希望看到
-component的渲染方法。希望您尝试渲染
子对象
,即使您知道
子对象
由一个子对象组成。好的,我需要给您完整的图片。我使用的是样式化组件。我将
圆形
半径
道具传递到包装器中,并在组件内部呈现
道具。儿童
。嘿,感谢@VivekN提供您的帮助。你以前鼓励我自己尝试。然后,我通过拉姆达设置的按钮,在我的RawButton中找到了一个道具。我不正确地使用了拉姆达的咖喱功能。问题解决:)谢谢大家。@soosap太好了。乐于助人……)
<Button {...props} circular radius="small">
  <Icon type="close" />
  <span />
</Button>
const RawButton = styled.button`
  border-radius: ${props => (props.circular ? '50%' : BORDER_RADIUS)};
`;

export default (props) =>
  <RawButton {...props}>
    <span />
    {props.children}
  </RawButton>