1 回答

TA貢獻1810條經驗 獲得超4個贊
我有一個關于基于另一個變量設置特定變量的問題。我在數據庫中將用戶的性別存儲為 U、M、F。
U代表未定義,M代表男性,F代表女性等。
現在我想顯示文本 Undefined 而不是 U 和 Male 而不是 M。
export const AccountTile: React.FC = () => {
const [isEditing, setIsEditing] = React.useState(false);
const [setAccountUpdate, { data, error }] = useAccountUpdate();
const { data: user } = useUserDetails();
let userGender = user.gender;
if(userGender === "U"){
userGender = "Undefined";
}
React.useEffect(() => {
if (data && !error) {
setIsEditing(false);
}
}, [data, error]);
return (
<S.TileWrapper>
<Tile>
<S.Wrapper>
<S.Header>MY DATA</S.Header>
<S.Content>
<S.HeaderSmall>
Personal details
{!isEditing && (
<IconButton
name="edit"
size={22}
onClick={() => setIsEditing(isEditing => !isEditing)}
/>
)}
</S.HeaderSmall>
{isEditing ? (
<AccountUpdateForm
initialValues={{
birthday: (user && user.birthday) || "",
firstName: (user && user.firstName) || "",
gender: (user && user.gender) || "",
lastName: (user && user.lastName) || "",
}}
handleSubmit={data => {
setAccountUpdate({ input: data });
}}
hide={() => {
setIsEditing(false);
}}
/>
) : (
<S.ContentOneLine>
<Attribute
description="First Name"
attributeValue={(user && user.firstName) || "-"}
/>
<Attribute
description="Last Name"
attributeValue={(user && user.lastName) || "-"}
/>
<Attribute
description="Birthday"
attributeValue={(user && user.birthday) || "-"}
/>
<Attribute
description="Gender"
attributeValue={(user && user.gender) || "-"}
/>
</S.ContentOneLine>
)}
</S.Content>
</S.Wrapper>
</Tile>
</S.TileWrapper>
);
};
但是,一旦我添加了這一部分,頁面就會停止工作。
let userGender = user.gender;
if(userGender === "U"){
userGender = "Undefined";
}
這不會產生任何我可以看到的錯誤,但是頁面仍然空白,添加此部分時不會加載。我什至沒有開始使用 set 變量。有誰知道為什么會這樣?
否則,當刪除這部分時,代碼可以正常工作并且在性別字段中打印“U”。
(反應,一般的前端對我來說是新的)
提前致謝。
添加回答
舉報