Reactjs 在React中使用情感的内联CSS
广义地说,我似乎在情感文档中发现了差异。在上,我们介绍了使用以下语法设置组件样式Reactjs 在React中使用情感的内联CSS,reactjs,create-react-app,emotion,css-in-js,Reactjs,Create React App,Emotion,Css In Js,广义地说,我似乎在情感文档中发现了差异。在上,我们介绍了使用以下语法设置组件样式 import { css, cx } from 'emotion' const color = 'white' render( <div className={css` padding: 32px; background-color: hotpink; font-size: 24px; border-radius: 4px; &
import { css, cx } from 'emotion'
const color = 'white'
render(
<div
className={css`
padding: 32px;
background-color: hotpink;
font-size: 24px;
border-radius: 4px;
&:hover {
color: ${color};
}
`}
>
Hover to change color.
</div>
)
className={css` <- CSS Goes Here ->`}
从“情感”导入{css,cx}
常量颜色='白色'
渲染(
悬停以更改颜色。
)
我想指出,内联CSS是通过以下语法添加的
import { css, cx } from 'emotion'
const color = 'white'
render(
<div
className={css`
padding: 32px;
background-color: hotpink;
font-size: 24px;
border-radius: 4px;
&:hover {
color: ${color};
}
`}
>
Hover to change color.
</div>
)
className={css` <- CSS Goes Here ->`}
className={css`}
然而,当我们在应用程序中实现时,这种语法无法工作。进一步阅读文档,特别是我们发现了这种语法
/** @jsx jsx */
import { jsx } from '@emotion/core'
render(
<div
css={{
backgroundColor: 'hotpink',
'&:hover': {
color: 'lightgreen'
}
}}
>
This has a hotpink background.
</div>
)
/**@jsx-jsx*/
从“@emotion/core”导入{jsx}
渲染(
这有一个火红的背景。
)
或者,为了清楚起见
css={{ <- CSS Goes Here -> }}
css={{}
这种格式是开箱即用的,这让我想知道,为什么这种格式有效,而前者不行?我们错过什么了吗?有人能解释一下两者之间的区别吗?第一个应用程序对您不起作用,这真的很奇怪,您正在使用create react应用程序,对吗?看看这个最小的代码沙盒:是的,我是!奇怪的是,同样的代码在我们这边不起作用。我想知道为什么。