我想,但是只要使用阵营内部ES6类,希望我的所有组件继承某些方法,我尽量延长它扩展了反应的成分。组件类,componentDidMount方法不会触发,因此不会呈现任何内容。我使用的阵营0.13.3componentDidMount方法反应类
BaseComponent.jsx
import React from 'react';
class BaseComponent extends React.Component {
constructor() {
super();
console.log('BaseComponent constructor');
}
render() {
return (
<div>Hello, Im the base component</div>
);
}
}
export default BaseComponent;
ExampleComponent.jsx
import BaseComponent from './BaseComponent';
class ExampleComponent extends BaseComponent {
constructor(props) {
super(props);
}
componentDidMount() {
console.log('exampleComponent mounted');
}
render() {
return (
<div>Hello, Im the example component</div>
);
}
}
export default ExampleComponent;
App.jsx
import React from 'react';
React.render(<ExampleComponent />, document.body);
,我正在使用的代码并使用babelify 6.1.2进行传输。
字符串“exampleComponent安装”永远不会被记录到控制台,并没有呈现。任何想法我做错了什么?
是的,我知道的例子是没用的,但我只是提出这个突出的问题。我不知道React不允许更深层次的结构。我的项目包含了一系列的具有共同的功能(和共享相同的状态)的模板,所以它是有意义的尝试把这个基类。我还读过使用ES6 React类时混用不可用 - 无论如何你知道吗? –
当你有一些组件具有相同的状态,你可以使用我的第二个例子。创建具有国家属性的新组件和呈现的部分(S),这都是一样的,呈现在你的特定组件,你可以在上面看到。 – marcel