Javascript 重新安装子组件

Javascript 重新安装子组件,javascript,reactjs,react-dom,Javascript,Reactjs,React Dom,在这里,我初始化了我的应用程序: ReactDOM.render( <App />, document.getElementById('app') ); ReactDOM.render( , document.getElementById('app') ); 现在我需要树中的所有组件再次调用componentDidMount,因为我希望树中的所有组件再次调用api请求 我是这样做的: const appKey = 0; ReactDOM.render(

在这里,我初始化了我的应用程序:

ReactDOM.render(
    <App />,
    document.getElementById('app')
);
ReactDOM.render(
,
document.getElementById('app')
);
现在我需要树中的所有组件再次调用componentDidMount,因为我希望树中的所有组件再次调用api请求

我是这样做的:

const appKey = 0;

ReactDOM.render(
    <App key={appKey} />,
    document.getElementById('app')
);
const-appKey=0;
ReactDOM.render(
,
document.getElementById('app')
);

每次我需要组件再次调用componentDidMount时,我会将1添加到appKey并再次调用ReactDOM.render。它起作用了。但是,也许还有另一种不使用“键属性”的方法可以做到这一点?

有很多方法可以做到这一点。。你想完成什么?我的意思是,为什么你需要重新渲染所有东西?@BravoZulu,我正在创建electron.js应用程序。用户可以在我的应用程序中打开项目,并在我的应用程序中使用此项目。然后他可以打开另一个项目。在componentDidMount方法中的每个组件中,我希望从API获取数据。当用户打开第一个项目组件时,触发了DidMount。但当用户打开新项目时,我希望在每个组件中再次触发componentDidMount,以便从项目的API获取数据。您可以通过多种方式实现这一点。例如,您可以切换传递给组件的标志,例如refetchData,然后在componentWillReceiveProps或componentWillUpdate中处理该标志。完成所有这些操作后,再次将标志设置为false。试图强制所有组件重新安装似乎非常浪费。