首页 > 解决方案 > 如何解决无下划线悬挂错误而不在配置中关闭错误

问题描述

在我的应用程序中,我必须添加以下部分e._targetInst.child.memoizedProps[0],但给出了 esLint 错误no-underscore- dangle ,我想在不禁用错误配置的情况下解决它。

应用它的代码

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);
            };
          };


     
     

    

标签: javascriptreactjseslint

解决方案


您可以使用// 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);
  };
};

推荐阅读