亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React JSX:設置變量導致頁面未加載

React JSX:設置變量導致頁面未加載

繁花如伊 2022-12-02 16:28:41
我有一個關于基于另一個變量設置特定變量的問題。我在數據庫中將用戶的性別存儲為 U、M、F。U代表未定義,M代表男性,F代表女性等?,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 });                }}但是,一旦我添加了這一部分,頁面就會停止工作。let userGender = user.gender;  if(userGender === "U"){    userGender = "Undefined";  }這不會產生任何我可以看到的錯誤,但是頁面仍然空白,添加此部分時不會加載。我什至沒有開始使用 set 變量。有誰知道為什么會這樣?否則,當刪除這部分時,代碼可以正常工作并且在性別字段中打印“U”。(反應,一般的前端對我來說是新的)提前致謝。
查看完整描述

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”。


(反應,一般的前端對我來說是新的)


提前致謝。


查看完整回答
反對 回復 2022-12-02
  • 1 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號