相关疑难解决方法(0)

从组件中的useState多次调用状态更新程序会导致多次重新呈现

我第一次尝试React钩子,所有看起来都很好,直到我意识到当我获取数据并更新两个不同的状态变量(数据和加载标志)时,我的组件(数据表)呈现两次,即使两个调用状态更新程序正在发生在同一个函数中.这是我的api函数,它将两个变量都返回给我的组件.

const getData = url => {

    const [data, setData] = useState(null);
    const [loading, setLoading] = useState(true);

    useEffect(async () => {

        const test = await api.get('/people')

        if(test.ok){
            setLoading(false);
            setData(test.data.results);
        }

    }, []);

    return { data, loading };
};
Run Code Online (Sandbox Code Playgroud)

在普通的类组件中,你只需要调用一次来更新可以是一个复杂对象的状态,但是"钩子方式"似乎是将状态分成更小的单元,其副作用似乎是多个在单独更新时呈现.任何想法如何缓解这个?

javascript reactjs react-hooks

48
推荐指数
6
解决办法
2万
查看次数

使用“useState”挂钩时,有什么方法可以使用 React DevTools 查看 React 多状态中的“字段”名称

我一直在学习/试验 React 钩子。当我在 Chrome 中使用 React DevTools 检查组件当前状态的值时,我看到状态很好,但实际的“字段”——即由各个useState钩子更新的状态变量——没有与它们相关的任何名称。相反,我看到的,例如,几个字符串,一对夫妇布尔值,等等。我一般都弄清楚是怎么回事,但是这似乎有问题-我希望能够看到状态变量的名字是什么。

例如,如果我有类似的东西

const [doughnuts, setDoughnuts] = useState(24)
Run Code Online (Sandbox Code Playgroud)

当我查看 React DevTools 时,我希望看到类似“doughnuts: number : 24”的内容,而不仅仅是“number: 24”。

我是否错过了某处的一些设置,或者一些开启此功能的技巧?

reactjs react-hooks

23
推荐指数
5
解决办法
9249
查看次数

与对象反应挂钩useState()

在带有钩子的React中,更新状态的正确方法是嵌套对象是什么?

export Example = () => {
  const [exampleState, setExampleState] = useState(
  {masterField: {
        fieldOne: "a",
        fieldTwo: {
           fieldTwoOne: "b"
           fieldTwoTwo: "c"
           }
        }
   })
Run Code Online (Sandbox Code Playgroud)

一个人怎么会使用setExampleState到的更新exampleStatea(附加一个字段)?

const a = {
masterField: {
        fieldOne: "a",
        fieldTwo: {
           fieldTwoOne: "b",
           fieldTwoTwo: "c"
           }
        },
  masterField2: {
        fieldOne: "c",
        fieldTwo: {
           fieldTwoOne: "d",
           fieldTwoTwo: "e"
           }
        },
   }
}

Run Code Online (Sandbox Code Playgroud)

b (改变价值)?

const b = {masterField: {
        fieldOne: "e",
        fieldTwo: {
           fieldTwoOne: "f"
           fieldTwoTwo: "g"
           }
        }
   })

Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

19
推荐指数
9
解决办法
2万
查看次数

标签 统计

react-hooks ×3

reactjs ×3

javascript ×2