簡體   English   中英

React,ESLint:eslint-plugin-react-hooks 依賴於 object 中的 function

[英]React, ESLint: eslint-plugin-react-hooks dependency on a function in an object

我不確定這是一個錯誤,但我需要一個解釋。 考慮以下代碼:

const someCallback = useCallback(() => console.log(someObj.someChildObject), [someObj.someChildObject])

ESLint 規則不會給出任何有關缺少或錯誤依賴項的警告,但是,以下代碼會給出有關缺少someObj依賴項的警告:

const someCallback = useCallback(() => someObj.someChildFunction(), [someObj.someChildFunction])

有人可以解釋一下,為什么第二個例子會產生警告? 或者它實際上是一個錯誤? 使用 4.0.8 版本的eslint-plugin-react-hooks package

有人可以解釋一下,為什么第二個例子會產生警告?

盡管 function 可能相同,但它產生的結果可能取決於調用上下文,即someObj

為簡單起見,請考慮以下示例。

// assume someObj is just a number and someChildFunction is toString
someObj = Math.random();

// you can't memoize based on the function itself because it uses context
const someCallback = useCallback(() => someObj.toString(), [someObj.toString])

toString對於每個數字5..toString === 4..toString都是相同的,但它產生的結果取決於數字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM