gpt4 book ai didi

reactjs - 使用 Typescript 时 React.memo 不可用?

转载 作者:行者123 更新时间:2023-12-05 09:12:35 33 4
gpt4 key购买 nike

我正在尝试像这样使用 React.memo:

const Node: React.memo<Props> = props => {

但是我收到一条错误消息:

Namespace '../ui/node_modules/@types/react/index.d.ts"' has no exported member 'memo'.

但我可以在 index.d.ts 中看到 Memo 函数:

function memo<P extends object>(
Component: SFC<P>,
propsAreEqual?: (prevProps: Readonly<PropsWithChildren<P>>, nextProps: Readonly<PropsWithChildren<P>>) => boolean
): NamedExoticComponent<P>;

function memo<T extends ComponentType<any>>(
Component: T,
propsAreEqual?: (prevProps: Readonly<ComponentProps<T>>, nextProps: Readonly<ComponentProps<T>>) => boolean
): MemoExoticComponent<T>;

我在这里错过了什么?

最佳答案

如评论中所述,memo 不是类型声明。你的语法有点乱

const Node: React.FC<Props> = React.memo(props => {
return(
<div>
memoized
</div>
)
})

请注意,React.FC 是功能组件的声明。由于您将其包装在 memo 中,您可能需要更改类型。但就个人而言,我不需要。

关于reactjs - 使用 Typescript 时 React.memo 不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57788199/

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