5
import styled from 'react-emotion'

class Field extends React.Component<> {}

export default styled(Field)

然后如果我渲染这个组件并使用component.type,我会得到styled()...函数而不是Field组件。

我如何Field进入风格化的功能?

4

3 回答 3

1

尝试这个:

import styled from 'react-emotion'

const Field = ({ className }) => (
    <div className={className}>Some field</div>
)

const theField = styled(Field)`
    color: green;
`
export default theField 
于 2018-02-01T21:17:29.143 回答
0

导出函数只是导出函数,但我认为你想要组件。那为什么不呢?

import styled from 'react-emotion'

class Field extends React.Component<> {}

const styledField = styled(Field)

export default styledField
于 2018-01-26T19:18:06.120 回答
-1

styled库不提供任何获取字段的方法。即使确实Field.type如此,undefined因为 Field 没有此属性。您可以尝试此代码并查看:

 class Field extends React.Component<> {
  render() {
    return (<div></div>);
  }
}

console.log(Field.type); // this will be 'undefined' not 'div' as you might expect
于 2018-01-26T20:55:29.303 回答