如何在React中创建可重用的函数

时间:2016-08-10 03:27:46

标签: reactjs

我对React很新,很抱歉,如果这是一个简单的问题。我有一堆组件,对于每个组件,我想为每个{b:this.constructor.displayName}指定一个初始状态(在构建classNames时使用“b”)。而不是在每个组件中的“getInitialState”初始状态中定义b,我想定义一些可重用的函数来在任何地方设置b。

从我早期的研究来看,似乎mixins可能很有希望。但是,我也读过mixins正在出路。做这个的最好方式是什么?提前谢谢!

1 个答案:

答案 0 :(得分:2)

目前在React中执行此操作的方法是使用合成而不是mixins。组合物也称为"高阶组分"看起来有点像这样:

class Foo extends React.Component {
    render() {
        return <div>{ this.props.b }</div>;
    }
}

const EmbedClassName = function(Child) {
    var b = Child.constructor.displayName;
    return (props) => <Child {...props} b={b} />;
};

var ComposedFoo = EmbedClassName(Foo);