如何在React Native中使用switch执行条件渲染?

林努·谢林(Linu Sherin)

您好我正在尝试在我的项目中执行switch语句。我有一个对象图像如下

export const images = [
  {
    image: BASE.URL + 'Images/Plumber.png',

  },
  {
    image: BASE.URL + 'Images/electrician.png',


  },
 {
    image: BASE.URL + 'Images/ac.png',

  }
]

我正在从服务器获取工作人员列表并将其呈现在Card.so中,因此服务器响应中仅包含工作人员的名称。我正在尝试将图像与它们一起提供,因此我编写了switch语句,但图像未与文字一起。以下是我的代码。

    import { images } from './data';
    renderImage() {
        const { workType } = this.state;
        switch (workType) {
          case 'Plumber':
            return (
              <Image style={{ height: 100, width: 100 }} source={{ uri: images[0].image }} />
            );
          case 'Electrician':
            return (
              <Image style={{ height: 100, width: 100 }} source={{ uri: images[1].image }} />
            );
     case 'AC'
            return (
              <Image style={{ height: 100, width: 100 }} source={{ uri: images[2].image }} />
            );
        }
      }
   render(){
    const { workers,workType } = this.state;
    return(
    {workers.map((a, index) => (
                    <TouchableOpacity onPress={() => this.popUpDialog(a.id, a.work_type)}>
                      <Card>
                        {this.renderImage()}
                        <Text>{a.work_type}</Text>
                      </Card>
                    </TouchableOpacity>
              ))}
    )
    }

我做错了什么,请帮助我找到解决方案。谢谢!

邪恶的

尝试console.log你的this.state.workType,因为它可能不是你认为它应该是值。由于没有default大小写,因此该函数不返回任何内容。

此外,如果将workType用作renderImage函数的参数,则可能会更容易我怀疑您功能上this.state.workType会与您不同你可以这样a.work_typeworkers.map

const renderImage = (workType) => {
  switch (workType) {
  ...
  }
}

//and then
   workers.map((a, index) => (
                    <TouchableOpacity onPress={() => this.popUpDialog(a.id, a.work_type)}>
                      <Card>
                        {this.renderImage(a.work_type)}
                        <Text>{a.work_type}</Text>
                      </Card>
                    </TouchableOpacity>
   ))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在React Native中使用Ajax渲染组件?

来自分类Dev

如何在 React Native 中使用函数渲染组件

来自分类Dev

如何在React Native中使用reactfire

来自分类Dev

如何在React Native中使用OpenCV

来自分类Dev

如何在React中使用useState或条件渲染隐藏和显示组件?

来自分类Dev

我如何在React Native中使用ListView渲染节标题?

来自分类Dev

如何在React Native中使用React.forwardRef()

来自分类Dev

如何在React中使用Map函数渲染Firestore集合?

来自分类Dev

如何在React中使用arraylist的map()渲染模态

来自分类Dev

如何在 React JS 渲染方法中使用变量?

来自分类Dev

如何在 React 中使用 props 渲染 DOM?

来自分类Dev

如何在React Native中渲染对象?

来自分类Dev

如何在React-Native中使用访存在ComponentDidMount内部执行多个API调用?

来自分类Dev

如何在Vue.js插槽中使用条件渲染?

来自分类Dev

如何在功能组件内部使用React Native Switch?

来自分类Dev

如何在条件和Redux中使用React路由?

来自分类Dev

如何在react-native中使用XML响应

来自分类Dev

如何在React Native中使用ES6

来自分类Dev

如何在MobX中使用React Native ListView?

来自分类Dev

如何在React Native中使用Fetch发布表单?

来自分类Dev

如何在我的React Native Android App中使用Crashlytics?

来自分类Dev

如何在React Native Android中使用TouchableNativeFeedback?

来自分类Dev

如何在React Native中使用数组映射JSON数据

来自分类Dev

如何在React Native中使用抽屉导航器?

来自分类Dev

如何在React Native中使用StackedAreaChart添加XAxis?

来自分类Dev

如何在Jest中使用NavigationEvents测试React Native组件

来自分类Dev

如何在React-Native中使用yield调用?

来自分类Dev

如何在带有钩子的React Native中使用refs?

来自分类Dev

如何在React Native Expo中使用按钮发送通知

Related 相关文章

  1. 1

    如何在React Native中使用Ajax渲染组件?

  2. 2

    如何在 React Native 中使用函数渲染组件

  3. 3

    如何在React Native中使用reactfire

  4. 4

    如何在React Native中使用OpenCV

  5. 5

    如何在React中使用useState或条件渲染隐藏和显示组件?

  6. 6

    我如何在React Native中使用ListView渲染节标题?

  7. 7

    如何在React Native中使用React.forwardRef()

  8. 8

    如何在React中使用Map函数渲染Firestore集合?

  9. 9

    如何在React中使用arraylist的map()渲染模态

  10. 10

    如何在 React JS 渲染方法中使用变量?

  11. 11

    如何在 React 中使用 props 渲染 DOM?

  12. 12

    如何在React Native中渲染对象?

  13. 13

    如何在React-Native中使用访存在ComponentDidMount内部执行多个API调用?

  14. 14

    如何在Vue.js插槽中使用条件渲染?

  15. 15

    如何在功能组件内部使用React Native Switch?

  16. 16

    如何在条件和Redux中使用React路由?

  17. 17

    如何在react-native中使用XML响应

  18. 18

    如何在React Native中使用ES6

  19. 19

    如何在MobX中使用React Native ListView?

  20. 20

    如何在React Native中使用Fetch发布表单?

  21. 21

    如何在我的React Native Android App中使用Crashlytics?

  22. 22

    如何在React Native Android中使用TouchableNativeFeedback?

  23. 23

    如何在React Native中使用数组映射JSON数据

  24. 24

    如何在React Native中使用抽屉导航器?

  25. 25

    如何在React Native中使用StackedAreaChart添加XAxis?

  26. 26

    如何在Jest中使用NavigationEvents测试React Native组件

  27. 27

    如何在React-Native中使用yield调用?

  28. 28

    如何在带有钩子的React Native中使用refs?

  29. 29

    如何在React Native Expo中使用按钮发送通知

热门标签

归档