【发布时间】:2021-05-14 07:45:52
【问题描述】:
我有两个组件,一个将一些 func 作为 prop 传递给另一个组件,我不确定在不必收到 eslint 错误的情况下执行此操作的正确方法是什么:
代码:
<Parent>
const doSmthHandler = useCallback((id: number)=> {
//do some stuff
},[])
<ComponentB>
doSmth={()=>doSmthHandler(id)} // Here I get eslint warning: JSX props should not use arrow functions eslint warning
</ComponentB>
</Parent>
组件 B 接收 doSmth 属性作为函数,并有一个按钮,例如:
<Button onPress={doSmth}>Do stuff</Button>
我想知道如何将一些参数传递给作为 cb 道具传递给另一个我没有得到 eslint 错误的组件!
【问题讨论】:
-
你试过 React 钩子
useCallback吗?你可以找到它的文档here -
我实际上已经在 callBack() 下,但警告仍然显示!
-
从上面的链接中看不到任何示例如何将 arg 传递给 func 而不必使用内联箭头 fn
-
@isnihalsi 问题是您将回调直接作为属性传递。您应该在将其传递给组件之前声明它以避免 ESLint 警告。
标签: javascript reactjs react-native