我正在尝试使用useEffect
来设置加载时MUI TextField
的初始值。该值是从数据库中提取的。大多数情况下这是有效的,但是在某些情况下useEffect
不能正确更新textfield
的值,它只是空白。
我的问题:如何更改代码以确保从useEffect提取的数据在加载时始终设置文本字段的初始值?
const [introText, setIntroText] = useState();
useEffect(() => {
const fetchResults = async () => {
const result = await axios({
method: "GET",
url: "https://server.site.com/userData",
withCredentials: true,
});
setIntroText(result.data.introEssayText);
};
fetchResults();
}, []);
<TextField
onChange={(e) => setIntroText(e.target.value)}
value={introText}
onInput={handleUpdatedIntro}
/>;
1条答案
按热度按时间gr8qqesn1#
useEffect
无法正确更新textfield
的值,它只是空白”*。确保result.data.introEssayText
在所有用例中不是空的。除此之外,有
const [introText, setIntroText] = useState()
将触发下面的警告,为一个正常的input
,我相信TextField
将回落。而不是使用
const [introText, setIntroText] = useState("")
,因此输入的初始值是""
,而不是undifined
。