Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
Reactjs 我如何避免';不能为功能组件提供参考';使用react路由器dom时?_Reactjs_React Router_Material Ui - Fatal编程技术网

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路由器v6中这可能会发生的变化。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} />
constrenderitem=({item,index})=>{
返回(
);
};

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

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

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