ReactJS 内联样式中的多个样式

Multiples styles in ReactJS inline style

在简单的 html/css 中,您可以使用 CSS 类 来做类似 <div class="responsive-image placeholder"> 的事情。 如何使用 JSX 和内联 JS CSS 将两个或多个 类 放在一起?

对此的解决方案可以是:

function join(){
    var res={};
    for (var i=0; i<arguments.length; ++i)
        if (arguments[i])
            Object.assign(res,arguments[i]);
    return res;
}

var myComponent = React.createClass({
    render: function(){
        return (
            <div style={join(styles.a,styles.b)}>
                My Content
            </div>
        );
    }
});

var styles = {
    b: {
        fontFamily: 'roboto',
        fontSize: 13,
        backgroundColor: '#edecec',
        overflow: 'auto'
    },
    a: {
        textDecoration: 'none',
        lineHeight: 1.4,
        color: '#5e5e5e',
    }
};

更简单的方法:

var myComponent = React.createClass({
    render: function(){
        return (
            <div style={$.extend({},styles.a,styles.b)}>
                My Content
            </div>
        );
    }
});

使用来自 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign 的 es6。

<div style={Object.assign(stylea, styleb)}></div>