Включение реквизита на основе какого-либо условия в реакции нативного? - PullRequest
0 голосов
/ 21 января 2019

Я хочу применить границу для основной кнопки, если menuIndex == menus.house.

<Button bordered>
    <Text uppercase={false}>House</Text>
</Button>

Вот то, что я попробовал,

<Button {menuIndex == menus.house? '' : bordered}>
    <Text uppercase={false} style={styles.menuTextButtonActive}>
        House 
    </Text>
</Button>

Ответы [ 2 ]

0 голосов
/ 21 января 2019

В качестве альтернативы, вы можете сохранить значение как константу в функции рендеринга:

class FooBar extends React.Component {
    [...]
    render() {
        const indexIsHouse = menuIndex == menus.house;
        return (
            <Button bordered={indexIsHouse}>
                <Text uppercase={false} style={styles.menuTextButtonActive}>
                    House 
                </Text>
            </Button> 
        )
    }
}

Это позволит вам повторно использовать это условие.indexIsHouse оценивается как логическое значение.

0 голосов
/ 21 января 2019
<Button bordered>
    ...
</Button>

можно понять как ниже

<Button bordered={true}>
  ...
</Button>

Итак, вы можете выполнить логическое выражение, как показано ниже

<Button bordered={menuIndex == menus.house}>
    <Text uppercase={false} style={styles.menuTextButtonActive}>
        House 
    </Text>
</Button> 
...