功能组件内部返回中的条件渲染

时间:2020-02-25 07:20:56

标签: reactjs

如何在函数组件的return内部有条件地渲染元素。 我不想重复两次NewWindow组件。

  return (
    <NewWindow
      onUnload={props.closeGradeReport}
      features={{ height: 500, width: 2500 }}
      title='Grade Report Chart'
    >
      <div className='grade-report-chart'>
        <div className='grade-report-chart-header'>
          // I want to render Loading.... or p element inside return
          { 
            isLoading ? <div> Loading...</div> : 
          <p> {selectedUser.name} ({selectedCohort})</p>
          }
        </div>
      </div>
    </NewWindow>

我知道我可以在NewWindow中返回Loading ...,但是我不想重复该组件。

1 个答案:

答案 0 :(得分:-1)

使用片段重构

 return (
    <Fragment>
      {isLoading ? (
        <div> Loading...</div>
      ) : (
        <NewWindow
          onUnload={props.closeGradeReport}
          features={{ height: 500, width: 2500 }}
          title="Grade Report Chart"
        >
          <div className="grade-report-chart">
            <div className="grade-report-chart-header">
              <p>
                {selectedUser.name} ({selectedCohort})
              </p>
            </div>
          </div>
        </NewWindow>
      )}
    </Fragment>
  );