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>