问题描述
在我的应用中,我不得不添加以下部分e._targetInst.child.memoizedProps[0]
,但给出了esLint错误 no-underscore-dangle ,我想在不禁用错误配置的情况下解决该问题。 / p>
const handleSelectSite = ({ onChange: onChangeSelectSite }) => {
return e => {
setonFieldChangeConfirm(() => () =>
onChangeSelectSite('siteId',e.target.value),);
console.log(e._targetInst.child.memoizedProps[0]);
setConfirmMsg(
`${formatMessage(messages.confirmChangeMessage,{
prevIoUs: candidateSite,newValue: e._targetInst.child.memoizedProps[0],})}`,);
setConfirmDialog(true);
};
};
解决方法
您可以使用// eslint-disable-next-line no-underscore-dangle
或通过解构和重命名来忽略linter错误:
const handleSelectSite = ({ onChange: onChangeSelectSite }) => {
return e => {
setOnFieldChangeConfirm(() => () =>
onChangeSelectSite('siteId',e.target.value),);
const { _targetInst: targetInst } = e;
setConfirmMsg(
`${formatMessage(messages.confirmChangeMessage,{
previous: candidateSite,newValue: targetInst.child.memoizedProps[0],})}`,);
setConfirmDialog(true);
};
};