Я получаю ошибку synax, и я не уверен, как это сделать каким-либо другим способом:
const new_datas = [
if(this.state.username != '') {
{
name: "Plaza",
route: "TabNav",
icon: require("../img/plaza_party.png"),
bg: "#C5F442"
},
{
name: `${this.state.thefirstname}'s Profile`,
route: "ProfileScreen",
icon: require("../img/pass.png"),
bg: "#C5F442"
},
}
else{
{
name: "Plaza",
route: "TabNav",
icon: require("../img/plaza_party.png"),
bg: "#C5F442"
},
{
name: "Login/Sign Up",
route: "LoginScreen",
icon: require("../img/pass.png"),
bg: "#477EEA",
},
}
];
В основном, что должно произойти, когда имя пользователя будет сохранено в состоянии, тогда оно должно обновить содержимоепереключиться с Login/Signup
на this.state.firstname Profile
.Есть ли правильный способ добиться этого?
Редактировать: Дополнительный код:
<List
dataArray={new_datas}
renderRow={data =>
<ListItem
button
noBorder
onPress={() => this.props.navigation.navigate(data.route)}
>
<Left>
<Image
active
source={data.icon}
style={{ height: 50, width: 50 }}
/>
<Text style={styles.text}>
{data.name}
</Text>
</Left>
{data.types &&
<Right style={{ flex: 1 }}>
<Badge
style={{
borderRadius: 3,
height: 25,
width: 72,
backgroundColor: data.bg
}}
>
<Text
style={styles.badgeText}
>{`${data.types} Types`}</Text>
</Badge>
</Right>}
</ListItem>}
/>
Эта часть не изменится, когда я войду в систему.