如何解决no-underscore-dangle错误而无需在配置中关闭错误

问题描述

在我的应用中,我不得不添加以下部分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);
  };
};