1 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
您正在嘗試將“用戶(hù)名”分配給“默認(rèn)名稱(chēng)”,但您從未聲明過(guò)“用戶(hù)名”。這可能看起來(lái)有點(diǎn)有趣,但在 JS 中,您將右側(cè)的值分配給左側(cè)的變量,因此在您的代碼中:
let defaultName;
if (username) {
defaultName = username;
...
這部分有問(wèn)題,因?yàn)槟嬖V程序?qū)ⅰ癲efaultName”設(shè)置為“username”,而該用戶(hù)名不存在。
要簡(jiǎn)單地運(yùn)行此代碼,您必須像這樣初始化“用戶(hù)名”變量:
let username = 'John';
let defaultName;
if (username) {
defaultName = username;
} else {
defaultName = 'Stranger';
}
這既乏味又毫無(wú)意義,因?yàn)樵谡嬲膽?yīng)用程序中,您會(huì)從表單、數(shù)據(jù)庫(kù)或授權(quán)中獲取用戶(hù)名,這可能是真實(shí)的:
...
const user = this.props.auth.user;
let defaultName;
if (user) {
defaultName = user.username;
} else {
defaultName = 'Stranger';
}
...
這將在React中執(zhí)行,并且很可能使用三元運(yùn)算符,您現(xiàn)在不需要知道。
添加回答
舉報(bào)