2017-03-09 88 views
1

我有一个不寻常的案例。说,我有一个表格。当用户点击“保存”按钮时,我需要触发组件的方法将draft.js内容转换为HTML。通常我只是使用refs来访问孩子并调用任何方法。但在我的案例草案组件内部是react-router v4的渲染方法,并且只有在URL匹配模式时才会出现。 这是因为当我确定裁判React.js如何在不使用引用的情况下调用子组件方法?

<Match pattern={'/info'} render={(props)=> <Draft_Editor ref='editor' />} /> 

父组件没有在裁判这个“编辑”的障碍。我能做些什么来从父母方面调用方法?

回答

0

我找到了解决方案。不幸的是,解决方案使用的是ref,但它使用其他方法执行。而不是使这ref='editor'我做了这个ref={(draft) => this.aboutEditor = draft}。该编辑器将以this.aboutEditor的形式提供。 当我与ref作为字符串运行它没有奏效。但它作为回调函数正常工作。

1

一种方法如下。

1)使用查找父元素的DOM节点:

var parentDOM = ReactDOM.findDOMNode(parentCompInstance); 

2)查看该子元素的DOM节点,使用:

var childDOM = parentDOM.children[0]; // or something like this, depending on html hierarchy 

3)求阵营组件实例对于那个子DOM节点,使用这里提到的解决方案:React - get React component from a child DOM element?

+0

谢谢。我不知道这样的反应能力 –

相关问题