学习React组件中的Switch case表达式

1,275 阅读2分钟

在本教程中,我们将学习React组件中的Switch case表达式。它包括如何根据switch case表达式来加载组件和渲染。

一般来说,Switch表达式的语法是这样的

switch(expression or variable) {
    case case1:
        return "case1"
    case case2:
        return "case2"
    case case3:
        return "case3"
    default:
        return "default"
}

表达式是一个被评估为值的javascript。值是一个变量值。

它检查匹配的情况并返回包裹在返回语句中的代码。返回语句可以是任何字符串或反应成分。

当没有找到匹配的情况时,默认调用。

类组件中的React switch case示例

Switch expressions 在jsx的render函数中从来没有使用过return表达式。 但是,我们可以在一个单独的函数中或者在render函数中使用switch表达式来获得返回的匹配案例。

在下面的例子中,在一个单独的函数中写入switch expression ,返回字符串,或者你可以写成返回组件。

Switch expression 检查组件的属性并返回匹配的情况。

返回的react组件调用这个函数。

在一个单独的函数中使用react switch表达式:

import React, { Component } from 'react';

class ClassComponent extends Component {
    loadComponent() {
        switch (this.props.number) {
            case '1':
                return "One";
            case '2':
                return "two";
            default:
                return "default"
        }
    }
    render() {
        return (
            <div>
                {this.loadComponent()}

            </div>
        );
    }
}

export default ClassComponent;

react switch表达式在一个渲染函数里面"

在这个例子中,Switch表达式被用在一个渲染函数里面,但不在返回语句中。 下面是一个例子

import React, { Component } from 'react';

class ClassComponent extends Component {

    render() {
        switch (this.props.number) {
            case '1':
                return "One";
            case '2':
                return "two";
            default:
                return "default"
        }
        return (
            <div>
                {this.loadComponent()}

            </div>
        );
    }
}

export default ClassComponent;

通过传递number 属性来调用这个函数classcomponent

import './App.css';
import ClassComponent from './ClassComponent';

function App() {

  return (
    <div className="App">

      <ClassComponent number="ten"></ClassComponent>

    </div>
  );
}


export default App;

如何在React功能组件中使用switch case示例

这显示了如何在Function组件的例子中使用switch case。

创建了一个单独的函数来处理switch case,以返回匹配的case执行。


import React from 'react';

const MyFunction = (number) => {

    return (
        <div>
            {loadComponent(number)}
        </div>
    )
}
export default MyFunction

function loadComponent(number) {
    switch (number) {
        case '1':
            return "One";
        case '2':
            return "two";
        default:
            return "default"
    }
}

总结

总而言之,最好避免使用switch-case表达式。如果你仍然想使用它,请编写一个单独的函数并在类和功能组件中调用这个函数。