Reactjs 我如何避免';不能为功能组件提供参考';使用react路由器dom时?

Reactjs 我如何避免';不能为功能组件提供参考';使用react路由器dom时?,reactjs,react-router,material-ui,Reactjs,React Router,Material Ui,我有以下内容(使用材质UI) 但我还是得到了警告。如何解决此问题?react router中的NavLink是一个功能组件,它是一个专用版本,为此目的公开了innerRef道具 // required for react-router-dom < 6.0.0 // see https://github.com/ReactTraining/react-router/issues/6056#issuecomment-435524678 const MyLink = React.forwardR

我有以下内容(使用材质UI)


但我还是得到了警告。如何解决此问题?

react router
中的
NavLink
是一个功能组件,它是一个专用版本,为此目的公开了
innerRef
道具

// required for react-router-dom < 6.0.0
// see https://github.com/ReactTraining/react-router/issues/6056#issuecomment-435524678
const MyLink = React.forwardRef((props, ref) => <NavLink innerRef={ref} {...props} />);
//react路由器dom<6.0.0需要
//看https://github.com/ReactTraining/react-router/issues/6056#issuecomment-435524678
const MyLink=React.forwardRef((props,ref)=>);

您还可以在我们的文档中搜索
react router
,找到指向的链接。最后一个链接提供了一个工作示例,并解释了react router v6中的这一情况可能会如何发生变化。react router是一个功能组件,它是一个专门版本,为此目的公开了一个innerRef道具

// required for react-router-dom < 6.0.0
// see https://github.com/ReactTraining/react-router/issues/6056#issuecomment-435524678
const MyLink = React.forwardRef((props, ref) => <NavLink innerRef={ref} {...props} />);
//react路由器dom<6.0.0需要
//看https://github.com/ReactTraining/react-router/issues/6056#issuecomment-435524678
const MyLink=React.forwardRef((props,ref)=>);

您还可以在我们的文档中搜索
react router
,找到指向的链接。最后一个链接提供了一个工作示例,并解释了在react路由器v6中这可能会发生的变化。Hi您可以使用refs而不是ref

    <InputText
        label="Phone Number"
        name="phoneNumber"
        refs={register({ required: true })}
        error={errors.phoneNumber ? true : false}
        icon={MailIcon}
   />

Hi您可以使用refs代替ref

    <InputText
        label="Phone Number"
        name="phoneNumber"
        refs={register({ required: true })}
        error={errors.phoneNumber ? true : false}
        icon={MailIcon}
   />

只需将其命名为
innerRef

// Client.js
<Input innerRef={inputRef} />

只需将其命名为
innerRef

// Client.js
<Input innerRef={inputRef} />
constrenderitem=({item,index})=>{
返回(
);
};
使用片段求解React.forwardRef()?警告

const renderItem=({item,index})=>{
返回(
);
};


使用片段求解React.forwardRef()?警告

当我们有来自react路由器哈希链接的哈希链接时如何?如果您根本没有使用react路由器如何?如何使用forwardRef和相同的警告?当我们有来自react路由器Hash Link的哈希链接时如何?如果您根本没有使用react路由器如何?您如何使用forwardRef来显示相同的警告?您好。你能解释一下ref和ref的区别吗?我查看了React文档,但找不到任何引用refs={}(复数)。这确实对我有用,但我想了解它是如何在功能组件上工作的。谢谢。这并不是说它是专门的裁判。只是道具“ref”是一个特殊的道具(就像“key”一样)。你可以将它作为“foo”而不是“refs”传递,它也会起作用。正如@Filipevante所说,它不是任何特定的ref。它只是作为道具,我发现自己也质疑
refs
在任何方面是否是一个特殊的道具,所以我选择了
innerRef
,只是因为它更清楚地说明了它在做什么。你好。你能解释一下ref和ref的区别吗?我查看了React文档,但找不到任何引用refs={}(复数)。这确实对我有用,但我想了解它是如何在功能组件上工作的。谢谢。这并不是说它是专门的裁判。只是道具“ref”是一个特殊的道具(就像“key”一样)。你可以将它作为“foo”而不是“refs”传递,它也会起作用。正如@Filipevante所说,它不是任何特定的ref。它只是作为道具,我发现自己也在质疑
refs
是否在任何方面都是一个特殊的道具,所以我选择
innerRef
,只是因为它更清楚它在做什么。就这么简单-我发现这是最容易让我绞尽脑汁的。@Hasan认真地说?这实际上是有效的,并没有像其他答案中提到的那样涉及任何重大的变化。如果这是有效的,为什么会存在
forwardRef
呢?就这么简单-我发现这是最容易让我绞尽脑汁的方法。@Hasan说真的吗?这实际上是有效的,没有涉及到其他答案中提到的任何重大变化。如果这是有效的,为什么
forwardRef
存在?
const renderItem = ({ item, index }) => {

        return (
            <>          
            <Item
                key={item.Id}
                item={item}
                index={index}
            />
            </>
        );
    };