【发布时间】:2021-06-08 20:36:57
【问题描述】:
我认为这个问题之前已经回答过了,但是我尝试浏览了所有类似标题的问题,但我仍然有点困惑。
我的代码从三词地址 API 请求一些数据,然后使用 setState 在对象中为数据提供一个变量。但是,它不同步,因此console.log(modifiedData) 将slug 显示为空字符串。但是当你再次点击提交按钮时,slug 已经更新了。
const api = require("@what3words/api");
const [modifiedData, setModifiedData] = useState({
title: '',
description: '',
category: '',
condition: '',
capacity: 0,
slug: '',
lng: 0,
lat: 0,
});
const handleSubmit = async e => {
e.preventDefault();
api.convertTo3wa({lat: modifiedData.lat, lng: modifiedData.lng}, 'en')
.then(function(getSlug) {
setModifiedData((prev) => ({
...prev,
slug: getSlug.words,
}));
console.log(modifiedData);
});
【问题讨论】:
标签: javascript reactjs typescript next.js use-state