【发布时间】:2021-01-04 05:31:03
【问题描述】:
嘿伙计们,我不知道为什么我的 setPlaceId 有效,但我的 setPlaceName 无效 当有一些应该打印的数据时,placeName 不打印任何东西有人可以帮忙吗?所以是的,我添加了更多代码,如果您需要更多内容,请发布,提前感谢大家的帮助,我希望我能尽快解决这个问题。
tldr:setPlaceId 粘贴文本,但 setPlaceName 在有应粘贴的信息时不粘贴文本。
顺便说一句,我从代码中删除了一些东西,所以它不会太长,所以不要担心我没有我调用的一些东西
function ConvertPlaces() {
const [placeName, setPlaceName] = useState("");
const [placeId, setPlaceId] = useState("");
useEffect(() => {
convert();
}, []);
const convert = () => {
fetch(
`https://skyscanner-skyscanner-flight-search-v1.p.rapidapi.com/apiservices/autosuggest/v1.0/UK/GBP/en-GB/?query=${userInput}`,
{
method: "GET",
headers: {
//deleted api keys
},
}
)
.then((res) => res.json())
.then((response) => {
console.log(response);
setPlaceName(response.Places.map((airport) => airport.PlaceName));
setPlaceId(response.Places.map((airport) => airport.PlaceId));
})
.catch((err) => {
console.log(err);
});
};
const handleChange = (event) => {
setInputField(event.target.value);
setUserInput(event.target.value);
};
const handleSubmit = (event) => {
event.preventDefault();
setSavedInput(inputField);
setInputField("");
convert();
};
return (
<div>
<SearchPlaces
run={convert}
handleChange={handleChange}
handleSubmit={handleSubmit}
inputField={inputField}
userInput={userInput}
savedInput={savedInput}
/>
<p>sfdajfp</p>
<p>{placeId}</p>
<p>{placeName}</p>
</div>
);
}
export default ConvertPlaces;
【问题讨论】:
-
setPlaceName 的代码在哪里?
-
请分享您的整个组件代码
-
没什么了,我只是在 p 标签中使用它
{placeId}
{placeName}
-
你能解释一下你想做什么吗?从您的代码中,您似乎有一个数组类型的状态“PlaceId”,这真的是您需要的解决方案吗?如果您能告诉我们您期望的结果,我们可能会帮助您找到更好的解决方案
-
你说
setPlaceName不起作用是什么意思?
标签: javascript html css arrays reactjs