stackoverflow.com/questions/6…
handleOpenOperationRecord.current = (openTab?: OpenTab) => {
openOperationRecordDrawer({
// TODO options 改为后端下发
opOptions: getOptions(opPrivilegeCodes, isCrossBorder, 'op'),
riskOptions: getOptions(riskPrivilegeCodes, isCrossBorder, 'risk'),
openTab,
});
};
const handleOpenOperationRecord = (openTab?: OpenTab) => {
openOperationRecordDrawer({
opOptions: getOptions(opPrivilegeCodes, isCrossBorder, 'op'),
riskOptions: getOptions(riskPrivilegeCodes, isCrossBorder, 'risk'),
openTab,
});
};
对比上下两种写法,都是正确的:第一种,把handleOpenOperationRecord传给子组件,子组件不会因为他的current变化而刷新。第二种,如果handleOpenOperationRecord被重新赋值,那么子组件会发生相应的变化