【问题标题】:How can I change the alert string based on conditions?如何根据条件更改警报字符串?
【发布时间】:2025-12-12 17:15:01
【问题描述】:

有时nicknamesuccess 在useSelector 中以字符串形式出现,有时nicknameError 以字符串形式出现。如果其中一个是字符串,则一个为空。

两个初始值都是null。

我想要做的是在任何一个以字符串形式出现时呈现 Alert.alert。

如何修复我的代码?

这是我的代码

    const Nickname = () => {

      const {
        nicknameError,
        nicknamesuccess,
      } = useSelector((state) => state?.user);

      const createTwoButtonAlert = () =>
      Alert.alert('중복확인',`${nicknameError}` ||`${nicknamesuccess}`, [
        {text: 'OK', onPress: () => console.log('OK Pressed'), style: 'OK'},
      ]);


      return (
        <Container>
          <NicknameContainer>
            <Inputs placeholder="닉네임" value={nick} onChange={onChangeNick} />
          </NicknameContainer>
        </Container>
      );
    };

    export default Nickname;

如果我使用我的代码它不起作用,它会呈现 null 或 undefiend....

【问题讨论】:

    标签: javascript node.js reactjs react-native


    【解决方案1】:

    这应该可以解决您的问题:

    `${nicknameError ? nicknameError : nicknamesuccess}`
    

    如果nicknameError 有一个假值(fale, null, 0, ''),那么上面的代码(三元运算符)返回nicknamesuccess,否则返回nicknameError

    【讨论】:

      【解决方案2】:

      这里不需要模板字符串。你可以只使用变量。

      const createTwoButtonAlert = () =>
            Alert.alert('중복확인', nicknameError || nicknamesuccess, [
              {text: 'OK', onPress: () => console.log('OK Pressed'), style: 'OK'},
            ]);
      

      【讨论】: