2 回答

TA貢獻2080條經驗 獲得超4個贊
由于空字符串("")與null不同,所以nameValue 只能為 null 一次,而一旦nameValue更改,它將始終是一個字符串。
const [nameValue, setNameValue] = useState(null);
return (
<div className="App">
<input
id="outlined-read-only-input"
label="Display Name"
variant="outlined"
value={nameValue !== null ? nameValue : name || ""}
onChange={(e) => setNameValue(e.target.value)}
onBlur={() => setName({ variables: { name: nameValue } })}
/>
</div>
);

TA貢獻1827條經驗 獲得超9個贊
您可以將狀態設置為默認名稱道具(來自 graphQL)。
const [nameValue, setNameValue] = useState(name);
return (
<div className="App">
<input
id="outlined-read-only-input"
label="Display Name"
variant="outlined"
value={nameValue}
onChange={(e) => setNameValue(e.target.value)}
onBlur={() => setName({ variables: { name: nameValue } })}
/>
</div>
);
添加回答
舉報