@historydev
Острая аллергия на анимешников

Как лучше переписать условие?

В зависимости от того, есть ли (props?: IFooterProps) и передан ли в него (button?: React.ReactNode) мне нужно вывести разные View в рамках одного контейнера.
Мне кажется я сделал не совсем хорошо, т.к. дублируется контейнер (View style={styles.container}):

export const Footer = (props?: IFooterProps) => {
    return props?.button ? (
        <View style={styles.container}>
            <RNHoleView style={styles.background} holes={[hole]}>
                <View style={styles.maskBorder}></View>
            </RNHoleView>
            {props.button}
        </View>
    ) : (
        <View style={styles.container}>
            <View style={styles.background}></View>
        </View>
    );
};


Как написать условие правильно?
  • Вопрос задан
  • 538 просмотров
Решения вопроса 2
@null_object
export const Footer = (props?: IFooterProps) => {
    return (
        <View style={styles.container}>
            {props && props.button ? (
              <>
                 <RNHoleView style={styles.background} holes={[hole]}>
                      <View style={styles.maskBorder}></View>
                  </RNHoleView>
                  {props.button}
               </>
            ) : (
              <View style={styles.background}></View>
            )}
        </View>
    );
};
Ответ написан
Elaryks
@Elaryks
export const Footer = (props?: IFooterProps) => {
  return (
    <View style={styles.container}>
      {props?.button ? (
        <>
          <RNHoleView style={styles.background} holes={[hole]}>
            <View style={styles.maskBorder}></View>
          </RNHoleView>
          {props.button}
        </>
      ) : (
        <View style={styles.background}></View>
      )}
    </View>
  );
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы