从useEffect 钩子中的Redux存储获取状态的正确方法是什么?
useEffect(() => {
const user = useSelector(state => state.user);
});
我试图在useEffect中获取当前状态,但不能使用useSelector调用,因为这会导致一个错误,即:
Invariant Violation: Hooks can only be called inside the body of a function component.
我想我明白为什么它破坏了钩子的主要规则之一。
从查看Redux
我在使用redux的useSelector钩子实现组件测试时遇到了很多困难。我已经看到了一些关于这个问题的问题,但我没有设法用这些问题的建议解决方案来解决我的问题。
我的组件相当大,所以我不会全部发布,但是给我带来麻烦的部分如下:
Total.tsx
import React from 'react';
import clsx from 'clsx';
import i18next from 'i18next';
import { useSelector } from 'react-redux';
import { Trans
我用的是带有钩子的redux,我需要一个选择器,它接受一个不是道具的参数。态
选择器函数不接收ownProps参数。但是,道具可以通过闭包(见下面的示例)或使用咖喱选择器来使用。
然而,他们并没有提供一个例子。文档中描述的咖喱的正确方法是什么?
这就是我所做的,它似乎是可行的,但这是对的吗?从useSelector函数返回函数是否意味着(它似乎永远不会重新呈现?)
// selectors
export const getTodoById = state => id => {
let t = state.todo.byId[id];
// add display n
我有这个next.js页面
const Index: NextPage = () => {
const state = useSelector((state) => state);
useEffect(() => {
//here we call the api to retrieve the list of comments
// and we use a useState hook to set the data
}, []);
return (
<>