如何在React中更新孙组件的数据

时间:2018-01-17 18:40:05

标签: javascript reactjs parent-child window.open

所以我正在使用' react-popout'从https://github.com/JakeGinnivan/react-popout创建弹出窗口有这个subWindow组件,其中有自己的数据字段。我有一个MainComponent,它定义了这些popoutwindows的列表(可以有多个),当我定义这个列表时,我还定义了PopoutWindow有一个子子窗口(我单独留下PopoutWindow组件包)。 PopoutWindow是一个包装器。

所以我将子窗口调用为MainComponent中的PopoutWindow的一部分,我希望能够更改我传递给subWindow(currentWindowData)的数据并触发重新渲染但是现在它不能正常工作而我只想要只更改列表中其中一个PopoutWindows的数据,而不是其他任何数据。

我怎么能拥有它,以便在按下按钮时,我只更改一个子窗口的数据而不是所有子窗口的数据(假设多个PopoutWindows被渲染并在列表中)?

<MainComponent>

openWindow() {
    const keyId = shortid.generate();
    const window=   <PopoutWindow
                            title={keyId}
                            options={{height: '700px', width: '350px'}}
                            key={keyId}
                        >
                            {
                        <subWindow key={shortid.generate()} 
                              data={this.state.currentWindowData} 
                        />}
                   </PopoutWindow>;

    this.setState({
        renderSubWindow: true,
        subWindowArray: [window, ...this.state.subeWindowArray],

    });
}

0 个答案:

没有答案