如何避免未使用的 setState 函数?可以在没有 setter 的情况下创建 React useState 吗?
Posted
技术标签:
【中文标题】如何避免未使用的 setState 函数?可以在没有 setter 的情况下创建 React useState 吗?【英文标题】:How do I avoid unused setState functions? Can React useState be created without a setter? 【发布时间】:2021-04-19 16:30:46 【问题描述】:我目前正在减少/删除 React 站点上的 npm 警告。
大量此类警告是由如下所示的 setState 函数引起的,即“未使用”。
const [state, setState] = useState('some state');
以下哪项是消除这些警告的更好方法?还是有更好的方法来解决这个问题?
1.
const[state] = useState('some state');
const state = 'some state';
【问题讨论】:
reactjs.org/docs/hooks-reference.html#usereducer 【参考方案1】:如果状态设置器未使用,您可以避免使用useState
。您可以将值保留在 const 中(在组件的主体中),或移出组件。
setState
在需要了解状态中存储的值的变化时使用。这样组件就知道何时重新渲染。
【讨论】:
谢谢,将 const 值移到组件之外有什么好处(如果有的话)? 当组件重新渲染时,它不必再次初始化变量,而在组件外部,它需要初始化一次,当组件重新渲染时,它只是检索值。跨度> @ljbc1994 实际差异无关紧要。 @ThomasFox 我认为这只是组织性的。【参考方案2】:如果setState
根本没有被使用,那么它是一个永远不会改变的值,因此可以是一个常数 (2.)。您也可以将其移出组件。
【讨论】:
以上是关于如何避免未使用的 setState 函数?可以在没有 setter 的情况下创建 React useState 吗?的主要内容,如果未能解决你的问题,请参考以下文章
可以打印出值,但在 setState 中它的“未定义”[重复]
Flutter - 从 websocket 消息动态创建小部件 - 未处理的异常:在构造函数中调用 setState()