如何解决在 React Native 中使用递归函数渲染组件的问题
我的函数 Question
第一次正常呈现,但是当我尝试按下按钮时,女巫包含 onTapYes
函数,其中包含我传递给它的子元素的递归问题,但它不起作用.我尝试了几种方法,但没有一种有效。
有人可以帮我吗?
这是我的代码(数组,下面是我的函数)。
const UrgentScreen = () => {
const array= [
{
id:1,questionText: 'Is the person conscious?',answers: [{id: 2,answer: 'YES' },{id:3,answer: 'NO'}],icon:'brain',color: Colors.customLightBlue,children: [
{
id: 4,questionText: 'Is the person bleeding?',answers: [{id: 5,{id:6,icon: 'tint',color: Colors.customRedCross,children: [
{
id: 7,questionText: 'Any injuries?',answers: [{id: 8,{id:9,icon: 'user-injured',color: Colors.customBrown,children: []
}
]
}
]
}
]
function Question ({question}) {
return (
<View style={{justifyContent: 'center',alignItems: 'center'}}>
<View style={{marginBottom: 15}}><FontAwesome5 name={question.icon} size={40} color={question.color} /></View>
<Text style={{marginBottom: 15,fontSize: 19,fontWeight: 'bold'}}>{question.questionText}</Text>
<Buttons onTapYes={() => {
if(question.answers[0].answer === 'YES'){
return <View>{(question.children).map(question => {
<Question key={question.id} question={question} />
})}</View>
}
}}/>
</View>
)
}
return(
<View style={{justifyContent: 'center',alignItems: 'center',marginTop: 100}}>
{array.map((question) => {
return (
<Question key={question.id} question={question}/>
)
})}
<UrgentCall/>
</View>
)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。