Javascript “反应钩”;“用户教育者”;在contactState函数中使用时出错

Javascript “反应钩”;“用户教育者”;在contactState函数中使用时出错,javascript,reactjs,Javascript,Reactjs,此错误显示在my contactState函数中 React钩子“useReducer”在函数“contactState”中调用,该函数既不是React函数组件,也不是自定义React钩子函数React钩子/钩子规则 import React, { useReducer } from "react"; import axios from "axios"; import uuid from "uuid"; import contactRe

此错误显示在my contactState函数中 React钩子“useReducer”在函数“contactState”中调用,该函数既不是React函数组件,也不是自定义React钩子函数React钩子/钩子规则

import React, { useReducer } from "react";
import axios from "axios";
import uuid from "uuid";
import contactReducer from "./contactReducer";
import contactContext from "./contactContext";

import {
  ADD_CONTACT,
  DELETE_CONTACT,
  UPDATE_CONTACT,
  SET_ALERT,
  REMOVE_ALERT,
  CLEAR_CURRENT,
  FILTER_CONTACTS,
  CLEAR_FILTER,
  SET_CURRENT,
  SET_LOADING,
} from "../types";

const contactState = (props) => {
  const initialState = {
    contacts: [],
    loading: false,
  };

  const [state, dispatch] = useReducer(contactReducer, initialState);

  //ADD CONTACT

  //DELETE CONTACT

  //SET CURRENT CONTACT

  //CLEAR CURRENT CONTACT

  //UPDATE CONTACT

  //FILTER CONTACT

  //CLEAR FILTER

  return (
    <contactContext.Provider value={{ contacts: state.contacts }}>
      {props.children}
    </contactContext.Provider>
  );
};

export default contactState;

import React,{useReducer}来自“React”;
从“axios”导入axios;
从“uuid”导入uuid;
从“/contactReducer”导入contactReducer;
从“/contactContext”导入contactContext;
进口{
添加您的联系人,
删除您的联系人,
更新您的联系方式,
设置警报,
解除警报,
清流,
过滤U触点,
清除过滤器,
设置_电流,
设置_加载,
}来自“./类型”;
const contactState=(道具)=>{
常量初始状态={
联系人:[],
加载:false,
};
const[state,dispatch]=useReducer(contactReducer,initialState);
//添加联系人
//删除联系人
//设置电流触点
//清除电流触点
//更新联系人
//过滤器触点
//透明过滤器
返回(
{props.children}
);
};
导出默认联系人状态;

React组件名称不能以小写字母开头。将组件重命名为
ContactState

您可以看到eslint react hooks插件检查名称