【发布时间】:2020-11-13 11:02:34
【问题描述】:
我有一个关于基于另一个变量设置特定变量的问题。 我已将用户的性别存储在数据库中为 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”。
(React 和前端对我来说一般都是新的)
提前致谢。
【问题讨论】:
-
你在哪里添加代码块?
标签: javascript python django reactjs