web-dev-qa-db-ja.com

Redux UsedISpatchを使用するときのUSEEffectの欠損依存関係

私のコンポーネントがReact Hooks useEffectを使用してマウントされているときはいつでもカテゴリを取得したいと思います。しかし、私はこの警告を受け続けていますReact Hook useEffect has a missing dependency:'dispatch'

これが私のコードです:

const categories = useSelector(state => state.category.categories);
const dispatch = useDispatch();

useEffect(() => {
    console.log('effecting');
    const fetchCategories = async () => {
       console.log('fetching');
       try {
            const response = await axios.get('/api/v1/categories');
            dispatch(initCategory(response.data.data.categories));
       } catch (e) {
           console.log(e);
       }
    }

    fetchCategories();
}, []);
 _
5
boosted_duck

無視された約束に問題があるかもしれません。

fetchCategories() returns a promise.
 _

あなたが試すことができます

useEffect(() => {
    const fetchCategories = async () => {
       try {
            const response = await axios.get('/api/v1/categories');
            await dispatch(initCategory(response.data.data.categories));
       } catch (e) {
           console.log(e);
       }
    }

    fetchCategories().then(res => (console.log(res());
}, []);
 _
0
Eugene