Нельзя использовать троичный оператор для рендеринга открывающего тега, подобного этому. То, чего вы пытаетесь достичь, это передать реквизит успеха вашему компоненту Item
, если в вашем состоянии есть значение, соответствующее ключу data
. Это может быть достигнуто как так
<Container>
<Header function1={this.props.navigation.openDrawer}/>
<Content>
{this.state.formInputs.formFeilds.map((data)=>(
<Item floatingLabel success={Boolean(this.state[`${data}`])}>
<Label>data</Label>
<Input value={data}/>
<Icon name='checkmark-circle' />
</Item>
))}
</Content>
</Container>
Затем вы можете в своем компоненте Item
выполнить сравнение с success
prop:
if (this.props.success === true) // do something success related
if (this.props.success !== true) // do something failure related
Если вам нужно использовать троичный оператор (что является плохим решением для этого конкретного случая из-за дублированного кода и меньшей читабельности), вам нужно будет сделать это так:
<Container>
<Header function1={this.props.navigation.openDrawer} />
<Content>
{this.state.formInputs.formFeilds.map(
data =>
this.state[`${data}`] ? (
<Item floatingLabel success>
<Label>data</Label>
<Input value={data} />
<Icon name="checkmark-circle" />
</Item>
) : (
<Item floatingLabel>
<Label>data</Label>
<Input value={data} />
<Icon name="checkmark-circle" />
</Item>
)
)}
</Content>
</Container>