如何在本机反应中处理对象和数组?

Pat*_*D19 6 javascript arrays reactjs react-native

我正在为我的大学学习积极创建一个 React Native 应用程序!在那我使用外部api作为数据源。我面临的问题是有时以单个对象获取数据,有时以数组格式获取数据。如何在 React Native 的角度处理这个问题?

正在映射 jsx 将其视为数组,但是当我获取对象时,它会引发错误

My data example:

const data = {         // this is example of single object 
   entry: {
      key: "0",
      value: "Patrik"
   }
}

const data = {         // this is example of array
   entry: [
   {
      key: "0",
      value: "Patrik"
   },
    {
      key: "1",
      value: "John"
   }],
}
Run Code Online (Sandbox Code Playgroud)

所以这就是我从外部 api 获取数据的方式,现在我的反应原生 jsx 代码:

     { data.entry.map(o => {
               <View key={o.key}>
                      <View style={{ paddingLeft: 25 }}>
                            <Text style={{ fontWeight: 'bold' }}>{o.value}</Text>
                      </View>
                  </View>

                }) 
      }
Run Code Online (Sandbox Code Playgroud)

所以,当我得到数组时,它可以工作,但是当我得到对象时,这会引发错误!有什么帮助吗?

Jus*_*man 1

将对象转换为数组,这样就不会出现错误。

if(!Array.isArray(data.entry)){
  data = { entry: [data.entry] };
}

Run Code Online (Sandbox Code Playgroud)