我将使用的 ref 传递React.forwardRef
给通常有效的向下组件。
<SomeComponent
component={React.forwardRef((props, ref) => <MyComponent innerRef={ref} {...props} />)}
.../>
但是,当我使用带有样式的 HOC(高阶组件)时,innerRef 以及其他道具无法正确传递。
// innerRef does not exists in props
const MyComponent = withStyles(styles)(({ one, two, ...props }) => {
return (
<Fragment>
<NavLink {...props}></NavLink>
...
</Fragment>
);
})
不使用 withStyles 我可以完美地得到它们
// innerRef exists in props
const MyComponent = ({ one, two, ...props }) => {
return (
<Fragment>
<NavLink {...props}></NavLink>
...
</Fragment>
);
}
我怎样才能仍然拥有 withStyles HOC 但包含 innerRef 和其他道具?
从材料 ui v3 迁移到 v4 后出现此问题。NavLink 需要 innerRef 属性。