Reactjs 如何将新的React组件呈现到呈现的DOM中?

Reactjs 如何将新的React组件呈现到呈现的DOM中?,reactjs,reactjs-flux,flux,Reactjs,Reactjs Flux,Flux,我有三个父母和两个孩子: import React from 'react'; import FirstChild from './FirstChild'; import SecondChild from './SecondChild'; export default class ComponentName extends React.Component { render() { return ( <div>

我有三个父母和两个孩子:

import React from 'react';
import FirstChild from './FirstChild';
import SecondChild from './SecondChild';

export default class ComponentName extends React.Component {
    render() {
        return (
            <div>
                <h1>ComponentName</h1>
                <div id="renderChildHere">
                    <FirstChild />
                </div>
                <button onClick={this.clickHandler}>Replace FirstChild with SecondChild</button>
            </div>
        );
    }

    clickHandler() {
        ???
    }
}
从“React”导入React;
从“/FirstChild”导入FirstChild;
从“/SecondChild”导入SecondChild;
导出默认类ComponentName扩展React.Component{
render(){
返回(
组件名称
将第一个孩子替换为第二个孩子
);
}
clickHandler(){
???
}
}
第一个子对象最初被渲染。如何卸载它并在#renderChildHere Dom元素中装载第二个组件


我使用React 0.13.3和Flux,没有第三方插件。

您应该在
组件名上有一个状态,告诉您要渲染哪个子组件。为简单起见,我将其命名为
childComponentName
,它可以将
firstComponent
secondComponent
作为字符串保存。在
this.clickHandler上,您应该执行以下操作:

this.setState({childComponentName: 'secondComponent'});
现在React将再次渲染
ComponentName
。在
render
方法中,您可以根据
childComponentName
状态的值选择是渲染
还是渲染

当然,这只是为了简单起见,所以您可以理解这个概念


在非常特定的场景中,您只能手动装载和卸载组件。对于所有其他组件,这是一种方法。

您应该在
ComponentName
上有一个状态,告诉您要渲染哪个子组件。为简单起见,我将其命名为
childComponentName
,它可以将
firstComponent
secondComponent
作为字符串保存。在
this.clickHandler上,您应该执行以下操作:

this.setState({childComponentName: 'secondComponent'});
现在React将再次渲染
ComponentName
。在
render
方法中,您可以根据
childComponentName
状态的值选择是渲染
还是渲染

当然,这只是为了简单起见,所以您可以理解这个概念


在非常特定的场景中,您只能手动装载和卸载组件。对于所有其他组件,这是一种方法。

您应该在
ComponentName
上有一个状态,告诉您要渲染哪个子组件。为简单起见,我将其命名为
childComponentName
,它可以将
firstComponent
secondComponent
作为字符串保存。在
this.clickHandler上,您应该执行以下操作:

this.setState({childComponentName: 'secondComponent'});
现在React将再次渲染
ComponentName
。在
render
方法中,您可以根据
childComponentName
状态的值选择是渲染
还是渲染

当然,这只是为了简单起见,所以您可以理解这个概念


在非常特定的场景中,您只能手动装载和卸载组件。对于所有其他组件,这是一种方法。

您应该在
ComponentName
上有一个状态,告诉您要渲染哪个子组件。为简单起见,我将其命名为
childComponentName
,它可以将
firstComponent
secondComponent
作为字符串保存。在
this.clickHandler上,您应该执行以下操作:

this.setState({childComponentName: 'secondComponent'});
现在React将再次渲染
ComponentName
。在
render
方法中,您可以根据
childComponentName
状态的值选择是渲染
还是渲染

当然,这只是为了简单起见,所以您可以理解这个概念


在非常特定的场景中,您只能手动装载和卸载组件。对于所有其他人来说,这是一条路。

我应该通过通量还是直接在组件中更改状态???@stkvtflw您应该直接更改状态。Flux用于管理数据。。与
汽车
列表、
联系人
列表一样,登录的
用户
。对于视图特定的状态,不需要通量。我应该通过通量还是直接在组件中更改状态???@stkvtflw您应该直接更改状态。Flux用于管理数据。。与
汽车
列表、
联系人
列表一样,登录的
用户
。对于视图特定的状态,不需要通量。我应该通过通量还是直接在组件中更改状态???@stkvtflw您应该直接更改状态。Flux用于管理数据。。与
汽车
列表、
联系人
列表一样,登录的
用户
。对于视图特定的状态,不需要通量。我应该通过通量还是直接在组件中更改状态???@stkvtflw您应该直接更改状态。Flux用于管理数据。。与
汽车
列表、
联系人
列表一样,登录的
用户
。对于视图特定的状态,不需要通量。