Javascript JSX中的循环和渲染

Javascript JSX中的循环和渲染,javascript,reactjs,react-native,loops,jsx,Javascript,Reactjs,React Native,Loops,Jsx,我需要循环遍历类似数组的对象,并根据其长度和长度在React Native中渲染组件,其中有代码: const Screen = function({navigation, route}) { var data = []; var cases = []; axios.get(`${uri}cases`) .then(json => { console.log(json) data = json.data }).catch(err => {

我需要循环遍历类似数组的对象,并根据其长度和长度在React Native中渲染组件,其中有代码:

  const Screen = function({navigation, route}) {
  var data = [];
  var cases = [];
  axios.get(`${uri}cases`)
  .then(json => {
    console.log(json)
    data = json.data
  }).catch(err => {
    console.log(err)
  });

  function showCases(cases){
    cases.forEach(one => {
      cases.push(<Text>one._id</Text>)
    })
  }
showCases(data)
var comp = [<Text>Hello</Text>, <Text>Hello</Text>]
  return(
 <View>
  <View>
  <Button title='Click' onPress={() => {
    cases.push(<Text>Hello</Text>)
    console.log(cases)
    console.log(comp)
    console.log(comp == cases)
    }} />
    <Button
          title="Modern Clinic"
          disabled={true}
        />
        <Button title="Profit" onPress={() => {
          navigation.push('Profit')
        }} />
        <Button title="Expenses" onPress={() => {
          navigation.push('Expenses')
        }}/>
        <Button title="New" onPress={() => {
          navigation.push('New...')
        }}/>
      </View>
    <SafeAreaView>
  <ScrollView>
  <Text>{cases}</Text>
  </ScrollView>
  </SafeAreaView>
</View>
  )
}
const Screen=函数({navigation,route}){
var数据=[];
var案例=[];
get(`${uri}cases`)
。然后(json=>{
console.log(json)
data=json.data
}).catch(错误=>{
console.log(错误)
});
功能展示(案例){
cases.forEach(一个=>{
案例。推送(一个。\u id)
})
}
陈列柜(数据)
var comp=[你好,你好]
返回(
{
cases.push(你好)
console.log(案例)
控制台日志(comp)
console.log(comp==案例)
}} />
{
导航。推送(“利润”)
}} />
{
导航。推送(‘费用’)
}}/>
{
navigation.push('New…'))
}}/>
{案例}
)
}

我只想循环通过
数据
变量并呈现组件我只想呈现逻辑,所以呈现
组件是可以的,只是逻辑

您需要使用
平面列表
,它是React中显示
列表
最常用的组件,就像
Foreach

在参数数据中传递数据。然后在
renderItem
中放置组件。在您的组件中,使用
{item.Something}
访问
foreach
的值,在本例中,数据为:
this.state.listParam={.{“des”:“Name”,“value”:“John”,“mandatory”:true,…}

i.toString()
renderItem={({item,index})=>{
返回(
此.\u changeText(text,item.name)}
类型={item.type}
/>
)
}} 
/>

你的意思是我必须使用
组件并只向其传递一个数据道具,或者我需要的不仅仅是数据道具,但好的,谢谢,我会阅读文档,如果我有任何问题,我只是想知道我应该使用哪个组件我不必正确循环,我会为我循环,你需要正确循环EH。如果您想知道如何使用api调用:在then()中,生成一个setstate({data:data)},在flatlist data={this.state.data},这是使用react的旧版本,现在你可以使用新的react功能,比如设置状态的usestate。问题是我无法直接访问我的状态,因为我使用的是
react本机导航
你需要使用navigation.setParam('yourkey',yourValue)来设置导航中的值,使用navigation.getParam('yourkey')来获取值,我认为这是一种不好的导航方式,请参阅文档如何正确制作组件: