在React

时间:2018-07-10 16:40:46

标签: javascript reactjs ecmascript-6 switch-statement

我有一个使用switch语句的react组件,并且我希望在且仅当未返回默认语句时才提供条件渲染。请参见以下代码作为示例:

import React from 'react';

const SwitchStatement = ({condition}) => {
  switch (condition) {
    case "a":
      return (<div>hello</div>);
    case "b":
      return (<div>world</div>);
    case "c":
      return (<div>goodbye</div>);
    default:
      return null;
  }
};

const renderSwitchStatement = (condition) => (
  <SwitchStatement condition={condition} />
);

const renderComponent = ({condition}) => {
  const rendered = renderSwitchStatement(condition);
  if (rendered !== null) {
    return rendered;
  }
}

例如我正在尝试编写一个函数,以使SwitchStatement("d")返回null,这是从默认语句中声明的。当然,这不会发生,因为不会返回null,而是返回react组件。我也许可以使用if / else语句完成此操作,但是如何确定switch语句中的传递条件是否由switch的默认值处理?谢谢。

0 个答案:

没有答案