reactjs - 在 React useCallback 钩子中,参数从哪里进入回调函数
问题描述
假设我有一个这样的 useCallback 函数
export const useMenu = (id1, id2, id3) => useCallback(({row, column, id}, myProps) => {
doSomething()
}, [id1, id2, id3]);
我正在调用这样的useMenu
函数
const myMenu = useMenu(123, 345, 567);
所以我只是想了解我从哪里得到这一行、列和myProps 的值?
解决方案
它们是myMenu
稍后调用时必须传递给函数的参数,例如使用myMenu({ row: 123 })
. 有关示例,请参见下面的代码段:
const useMenu = (id1, id2, id3) => React.useCallback(({row, column, id}, myProps) => {
console.log('got row of', row);
}, [id1, id2, id3]);
const App = ({ id1, id2, id3 }) => {
const myMenu = useMenu(123, 345, 567);
React.useEffect(() => {
myMenu({ row: 123 });
}, []);
return 'app';
};
ReactDOM.render(<App />, document.querySelector('.react'));
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div class="react"></div>
对于您的代码,请查看调用myMenu
以了解参数的确切来源。
推荐阅读
- c# - 有没有办法在不解压缓冲区(C++/CLR)的情况下使用 CredUIPromptForWindowsCredentialsW?
- sql - 有没有办法根据 R 中的一组条件使用表 T2 中的列 B 更新表 T1 中的列 A?
- python-3.x - python3中的随机模块不可调用错误
- python - 杀死正在运行 Gstreamer 的子进程
- sas - SAS DS2 代码不适用于远程服务器
- powershell - Powershell 正在 GitHub 操作中吃引号
- c# - 如何从 Azure 服务总线读取消息
- python - 将列表作为参数传递给python中的函数
- java - Java:将字符串变量与“null”值进行比较时出现问题
- qt - QT5.12.3 SwipeView 枚举表单