I ran into this strange problem where I am dynamically rendering "no current trail" if the user does not have a trail selected but if the user does I want to render some stuff about trail info and buttons. All of this is wrapped in a "currentTrailBottomSheetContainer" style. For some reason the style only gets applied to the True statement if currentTrail == undefined but the "currentTrailBottomSheetContainer" style does not get applied if the statement is false even though the false statement is still wrapped in the . Does anyone know what could be going wrong?
TSX CODE:
<View style={styles.currentTrailBottomSheetContainer}>
{currentTrail == undefined ? (
<Text style={styles.currentTrailBottomSheetText}>No Current Trail</Text>
) : (
<View style={styles.currentTrailContainer}>
<View style={styles.currentTrailTextContainer}>
<Text style={styles.currentTrailBottomSheetText}>{currentTrail.trailName}</Text>
</View>
<View style={styles.currentTrailSettingsContainer}>
<TouchableOpacity style={styles.currentTrailInfoButton}>
<Text style={{ textAlign: "center" }}>INFO</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.currentTrailEditButton}>
<Text style={{ textAlign: "center" }}>EDIT</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.currentTrailRemoveButton}>
<Text style={{ textAlign: "center" }}>X</Text>
</TouchableOpacity>
</View>
</View>
)}
</View>
Styling that wraps the conditional render.
currentTrailBottomSheetContainer: {
height: "auto",
width: "100%",
marginBottom: 20,
borderWidth: 5,
},
currentTrailContainer: { flex: 1, flexDirection: "column", alignContent: "space-between", justifyContent: "space-between", },
image of border working like it should (Thick black border)
image of border not wrapping the current trail part of the view (Thick Black Border)
I expect the border around "Test 1" and the "| Info | Edit | X |" just like the border around "No Current Trail"
Add
flex: 0tocurrentTrailContainer(example)