这是 React 中的有效语法吗?
Is this valid syntax in React?
我正在做一个 React 项目,在安装组件后我必须在其中初始化一个套接字。为此,我正在使用这种语法,我想知道它是否有效。
function Component() {
const socket = useMemo(() => {
return io('http://localhost:3001')
},[socket]);
return (
<h1>Component</h1>
)
}
这样,我的项目和套接字工作得很好,但我想知道实现相同目的的传统方法。我在另一个 React 项目中使用了相同的语法,它给了我 socket
变量的“引用错误”。
您需要向 useMemo
添加一个依赖数组,否则它会在每次渲染时触发。在那之后,是的,这是一个有效的语法 :)
const socket = useMemo(() => {
return io('http://localhost:3001')
}, [])
我正在做一个 React 项目,在安装组件后我必须在其中初始化一个套接字。为此,我正在使用这种语法,我想知道它是否有效。
function Component() {
const socket = useMemo(() => {
return io('http://localhost:3001')
},[socket]);
return (
<h1>Component</h1>
)
}
这样,我的项目和套接字工作得很好,但我想知道实现相同目的的传统方法。我在另一个 React 项目中使用了相同的语法,它给了我 socket
变量的“引用错误”。
您需要向 useMemo
添加一个依赖数组,否则它会在每次渲染时触发。在那之后,是的,这是一个有效的语法 :)
const socket = useMemo(() => {
return io('http://localhost:3001')
}, [])