在React useCallback挂钩中,参数从何处进入回调函数

时间:2020-10-19 13:59:05

标签: reactjs callback react-hooks

假设我有这样的useCallback函数

export const useMenu = (id1, id2, id3) => useCallback(({row, column, id}, myProps) => {
    doSomething()
}, [id1, id2, id3]);

我正在这样调用useMenu函数

const myMenu = useMenu(123, 345, 567);

所以我只想了解我从哪里获得这个 myProps的值?

1 个答案:

答案 0 :(得分:0)

它们是稍后在使用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的内容,以确切了解参数的来源。