React.js从函数返回样式属性,并在render()函数中使用它

时间:2018-08-24 12:16:09

标签: javascript reactjs react-native

我正在尝试使用动态样式属性。下面的方法向我抛出“ style道具期望从样式属性到值而不是字符串的映射”错误。

class someClass extends React.Component {
    someFunction = () => {
        return {marginLeft : 20 };
    }
    render() {
        return( <div style={this.someFunction}/>
        );
    }
}

然而,这一方法有效:

class someClass extends React.Component {
    render() {
        return( <div style={{marginLeft : 20}}/>
        );
    }
}

为什么会这样,如何从函数中返回样式对象?

感谢您提前提出任何答案!

1 个答案:

答案 0 :(得分:2)

您没有在样式道具JSX中调用该函数。像this.someFunction()那样调用它,然后它将返回您保留在someFunction内的样式的对象。

return <div style={this.someFunction()} />