如何推送元素里面的useState数组React hook?这是反应状态下的旧方法吗?还是新的东西?
例如setState推送示例?
我尝试创建一个从服务器获取数据的函数,并且它有效。但我不确定这是否正确?
我使用useState、useEffect和Async/Await创建了一个函数组件来获取数据 :
import React, { useState, useEffect } from "react";
const Fetch = () => {
const [data, setData] = useState(null);
useEffect(() => {
const fetchData = async () => {
let res = await fetch(
"https://api.coindesk.com/v1/bpi/currentprice.json" //example and simple data
);
let response = await res.json();
setData(response.disclaimer); // parse json
console.log(response);
};
fetchData();
}, []);
return <div>{data}</div>;
};
export default Fetch; // don't run code snippet, not working, this component must be imported …Run Code Online (Sandbox Code Playgroud)我想更新状态并尝试了几种方法来做到这一点,但我不能。首先,我在获取状态时遇到问题,因此,我得到的是代理,而不是状态。
current()这是由 redux 工具包的函数修复的。接下来,我遇到的问题是突变主切片状态。
这是一个用于变异的减速器。
reducers: {
setUser: (state, payload) => {
console.log("before", current(state)); //init state
state.currentUser = {
...state.currentUser,
loggined: true,
};
console.log("after", current(state)); // here I have new state but...
},
clearUser: (state) => {},
},
Run Code Online (Sandbox Code Playgroud)
结果,作为第二个控制台日志,当我想更改页面或只是想通过 useSelector()redux 函数对状态中的新数据执行某些操作时,我必须声明我想要的内容,结果,我变老了,没有改变状态。
为什么会发生这种情况?
切片状态示例:
initialState: {
currentUser: {
loggined: false,
isAdmin: false,
jwt: false,
},
},
Run Code Online (Sandbox Code Playgroud)
谢谢!
将我的 MacOS 更新到 Sonoma 14.0 后,我的 Docker(桌面)停止工作并崩溃了。
眼镜:
我尝试过重新启动 Docker 和 Mac。我重新安装了 Docker。但尝试的解决方案都没有改变任何事情。
我的完整问题报告在这里:
Translated Report (Full Report Below)
Process: Docker Desktop [3071]
Path: /Applications/Docker.app/Contents/MacOS/Docker Desktop.app/Contents/MacOS/Docker Desktop
Identifier: com.electron.dockerdesktop
Version: 4.24.0 (4.24.0.10)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2023-10-02 09:59:02.1019 +0200
OS Version: macOS 14.0 (23A344)
Report Version: 12
Anonymous UUID: 4992EFDD-ACD0-DC97-57FF-3B3522CE5D2F
Sleep/Wake UUID: 414F83AA-BFBE-47C4-B0BC-85551AE4BF05
Time Awake Since Boot: 4200 seconds
Time Since Wake: 2777 seconds
System Integrity …Run Code Online (Sandbox Code Playgroud) 我的状态参数(有效负载)中的减速器函数返回唯一的代理:
\nProxy {i: 0, A: {\xe2\x80\xa6}, P: false, I: false, D: {\xe2\x80\xa6}, \xe2\x80\xa6}\n[[Handler]]: null\n[[Target]]: null\n[[IsRevoked]]: true\nRun Code Online (Sandbox Code Playgroud)\n我的切片是状态代理:
\nimport { createSlice } from "@reduxjs/toolkit";\n\nexport const userSlice = createSlice({\n name: "user",\n initialState: {\n currentUser: {\n loggined: false,\n isAdmin: false,\n jwt: false,\n },\n },\n reducers: {\n setUser: (state, payload) => {\n console.log(state); // here is problem, but payload works very well\n },\n clearUser: (state) => {},\n },\n});\nexport const { setUser, clearUser } = userSlice.actions;\n\nexport const currentUser = (state) => state.user.currentUser;\n\nexport …Run Code Online (Sandbox Code Playgroud) 我想用JavaScript中的forEach数组函数计算总和。但是我没有得到我想要的。
function sum(...args) {
args.forEach(arg => {
var total = 0;
total += arg;
console.log(total);
});
}
sum(1, 3);
Run Code Online (Sandbox Code Playgroud)
如何用forEach求和,或使用reduce方法?
reactjs ×4
javascript ×3
react-hooks ×2
redux ×2
async-await ×1
asynchronous ×1
docker ×1
electron ×1
foreach ×1
macos ×1