如何在两个React组件之间转换为单个文件?

时间:2018-08-28 05:30:14

标签: asp.net-mvc reactjs

使用MVC .NET,我具有视图A和视图B。问题是我不知道如何将正确的组件呈现到正确的视图,因为它使用的是同一文件。

例如,在这个jsx文件中,我有

export class A extends React.Component {}

export class B extends React.Component {}

export default class Main extends React.Component {
  if ... return A else return B
}

3 个答案:

答案 0 :(得分:2)

赞:

export default class Main extends React.Component {
  render() {
    if (true) {
      return <A />
    } else {
      return <B />
    }
  }
}

让我们详细说明这个例子:

使用Main组件时,您将像这样使用

<Main someOption={true} />

现在,在Main类中,您可以检查:

if(this.props.someOption) // replaced to true

答案 1 :(得分:1)

尝试这种方法:

with open("FOA", "rb") as f:  
  with open("FA", "w") as d:  
    byte = f.read(1)  
    while byte != "":  
        # Do stuff with byte.  
        print(byte)  
        d.write(str(byte))  
        byte = f.read(1)

使用 /** A class holding A component **/ export class A extends React.Component {} /** B class holding B componennt **/ export class B extends React.Component {} /** Main Class **/ export default class Main extends React.Component { render(){ let aComponent = true; //it will depends on which component you want to render let componentToRender = <A />; if(!aComponent){ componentToRender = <B />; } return( <div>{componentToRender}</div> ) } } 组件,例如:

Main

答案 2 :(得分:0)

您可以尝试以下代码:

/** ViewA Component **/
export class ViewA extends React.Component {}

/** ViewB componennt **/
export class ViewB extends React.Component {}

/** View main class **/
export default class ViewMain extends React.Component {
    render(){
       let aComponent = true; //a threshold should be changed.
       return aComponent?<ViewA/>:<ViewB/>;
    }
}