我有一个嵌套组件,用于发起上传图像的 HTTP 请求。它显示进度。
\nconst PreviewItem = React.memo(function PreviewItem(props: PreviewItemProps) {\n const {fileObject, handleRemove, classes, onUploadFinished} = props\n\n const [isLoading, setIsLoading] = useState(false)\n const [completed, setCompleted] = useState(0);\n\n const cancelTokenSource = axios.CancelToken.source();\n\n useEffect(() => {\n const data = new FormData();\n data.append('file', fileObject.file);\n\n const config: AxiosRequestConfig = {\n onUploadProgress: function (progressEvent) {\n const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);\n setCompleted(percentCompleted)\n },\n cancelToken: cancelTokenSource.token\n };\n\n if (!fileObject.isUploaded) {\n setIsLoading(true)\n avantiApi.post<DirectUploadResponse>("images/upload", data, config).then(response => {\n\n setIsLoading(false)\n\n if (onUploadFinished) {\n onUploadFinished(response.data, fileObject)\n }\n …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作 3 个按钮控件来打开和关闭 3 个相应的菜单列表。Material-UI是我目前使用的UI框架。这是代码:
const Filters = () => {
const [anchors, setAnchors] = useState([null, null, null])
const handleClick = (event, index) => {
const arr = anchors
arr[index] = event.target
setAnchors(arr)
}
const handleClose = (index) => {
const arr = anchors
arr[index] = null
setAnchors(arr)
}
return(
<div id="top-filters">
<div className="controls">
<Button onClick={(event) => handleClick(event, 0)}>Sort By</Button>
<Button onClick={(event) => handleClick(event, 1)}>Price</Button>
<Button onClick={(event) => handleClick(event, 2)}>Delivery Fees</Button>
</div>
{
console.log({anchors})
}
<Menu key={1}
anchorEl={anchors[0]}
open={Boolean(anchors[0])}
onClose={() …Run Code Online (Sandbox Code Playgroud) 我可以看到包含用户数组的响应对象,但似乎 setState 在钩子内不起作用useEffect()。
这是请求代码。
const [users,setUsers] = useState([]);
const getUsers=async()=>{
await axios.get(API_URL,{
headers:{
'Content-Type': 'application/json',
'Accept': 'application/json',
'Access-Control-Allow-Origin': '*'
}
})
.then((res)=>{
const data = res.data.users;
console.log(data);
setUsers([...users,data]);
console.log(users);
})
.catch((err)=>{
console.log(err);
})
}
useEffect(()=>{
getUsers();
},[])
Run Code Online (Sandbox Code Playgroud) var result = "I am a dog";
var searchterm = "a";
Run Code Online (Sandbox Code Playgroud)
如何在每个“a”和“)”之前插入“(”在每个“a”之后,所以新结果是
newresult = "I (a)m (a) dog"
Run Code Online (Sandbox Code Playgroud) 我有一个空对象,想在对象内部动态创建一个对象。
const obj = {}
obj["test1"]["test1.1"] = x //initialize to some variable
Run Code Online (Sandbox Code Playgroud)
我收到错误
Uncaught TypeError: Cannot set property 'test1.1' of undefined
Run Code Online (Sandbox Code Playgroud)
我希望输出是这样的
obj = {
test1: {
test1.1: x //some variable
}
}
Run Code Online (Sandbox Code Playgroud) 所以我有 data.js 存储我的 JSON ......它看起来像这样:
[
{
name: 'Adam Doe',
city: 'New York',
mark: [8,10,10,10]
},
{
name: 'Catlyn Stronk',
city: 'Las Vegas',
mark: [2,2,2,2,2,3,3,3,4]
},
{
name: 'Anna Doe',
city: 'Michigan',
mark: [10,8,8,4,3,2]
}
]
Run Code Online (Sandbox Code Playgroud)
如何制作一个数组并将得分最高的人放在首位?因此,由于 Adam Doe 将获得 9.5 分的最高分,因此他应该排在第一位,依此类推......我在 React.js 工作
我有两个对象如下:
const a = {
'2021-1': 10,
'2021-2': 8
}
const b = {
'2021-1': 10,
'2020-3': 10,
'2020-4': 15,
'2020-5': 12,
'2020-6': 4
}
Run Code Online (Sandbox Code Playgroud)
我想合并两个对象并总结重复键的值。
预期结果是:
{
'2021-1': 20,
'2021-2': 8,
'2020-3': 10,
'2020-4': 15,
'2020-5': 12,
'2020-6': 4
}
Run Code Online (Sandbox Code Playgroud) reactjs ×6
javascript ×4
react-hooks ×3
axios ×1
material-ui ×1
replace ×1
string ×1
use-effect ×1
use-state ×1