【问题标题】:How to fix React Hook useEffect has a missing dependency如何修复 React Hook useEffect 缺少依赖项
【发布时间】:2020-07-12 13:51:52
【问题描述】:
import React, { useState, useEffect } from 'react';
import Form from 'react-bootstrap/Form';

function Switch(props) {
  const [enabled, setEnabled] = useState(false);

  useEffect(() => {
    if(enabled !== props.enabled) {
      setEnabled(props.enabled);
    }
  }, [props.enabled]);

  const handleChange = () => {
    props.handleClusterEnabledChange(!enabled);
    setEnabled(!enabled);
  }

  return (
    <Form.Check
      type="switch"
      id={props.id}
      label=""
      onChange={handleChange}
      checked={enabled}
    />
  );
}

export default Switch;

错误:

./src/containers/administration/dwConnections/switch.js 第 11:6 行:React Hook useEffect 缺少依赖项:'enabled'。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    只需添加 enabled 作为依赖项:

    useEffect(() => {
        if(enabled !== props.enabled) {
          setEnabled(props.enabled);
        }
      }, [enabled, setEnabled, props.enabled]);
    

    【讨论】:

    • setEnabled 也将是一个依赖项
    猜你喜欢
    • 1970-01-01
    • 2021-02-23
    • 2019-10-24
    • 2020-05-27
    • 2021-10-16
    • 2020-10-26
    • 2020-03-07
    • 2020-02-25
    • 2020-06-11
    相关资源
    最近更新 更多