gpt4 book ai didi

javascript - React.forwardRef 导致样式组件错误

转载 作者:行者123 更新时间:2023-12-03 13:31:50 26 4
gpt4 key购买 nike

我当前正在运行 React 16.3.1 和 Styled Components 3.2.5,并且在尝试使用 React.forwardRef 时遇到问题。

我有一个输入组件,它由一个包含标签和输入字段的包装 div 组成。但是,我希望能够将引用直接转发到输入字段,而不必通过主包装 div 遍历它。

const Input = React.forwardRef((props, ref) => (
<Wrapper>
<Label htmlFor={props.id} required={props.required}>
{props.label}
</Label>

<InputField
id={props.id}
...
/>
</Wrapper>
));

这是我的组件的简化版本。但是,这会产生以下错误:

Uncaught Error: Cannot create styled-component for component: [object Object]

也许将样式组件升级到 v4 会有帮助?但是升级前有没有我还没有找到的解决方案?

谢谢。

最佳答案

related issue 中所述,有阻塞React Redux issue预计将通过 this PR 关闭.

解决方法是使用 React 16.3 forwardRef 之前使用的方法,并使用自定义 prop 而不是 ref 来转发引用:

const Input = ({forwardRef, ...props}) => (
<Wrapper>
<Label htmlFor={props.id} required={props.required}>
{props.label}
</Label>

<InputField
ref={forwardRef}
id={props.id}
...
/>
</Wrapper>
));

关于javascript - React.forwardRef 导致样式组件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52943793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com