React hook 中不需要参与渲染的数据也要放到state中吗


let page = 0
let limit = 10
const Component = () => {
    return (
    
    )
}

就像上图中的page和limit,只用于发送请求,不参与视图渲染,这样放在函数外是否会有问题?

阅读 3.3k
3 个回答

如果pagelimit对组件来说是个常量,那放在函数外是没问题的。
但是看变量命名,变量page像是用于分页的并且是会发生变量,如果真是这样应该把page放入ref里:

let limit = 10;

const Component = () => {
    const pageRef = React.useRef(0);
    
    return (
    
    )
}

需要参与渲染的,就需要使用 state,不需要渲染就用 useRef 存起来就好啦。

这里的问题是 limitpage 可能需要在页面中使用到,以 Antd 为例,Antd 的 table 里翻页时就需要传入 current 也就是 page。只能说具体情况具体分析。

没问题.
ESModule 已经限制了你两个变量的作用域;
这两个变暖会在这个包内共享;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题