我认为在下面的代码中使用数组会导致合成中不必要的重新渲染。这是因为React通过较浅的比较重新渲染了组件,在下面的示例中,我们在prop中放置了一个新的数组引用。我说的对吗?
/** @jsx jsx */
import { css, jsx } from '@emotion/core'
const danger = css`
color: red;
`
const base = css`
background-color: darkgreen;
color: turquoise;
`
render(
<div>
<div css={base}>This will be turquoise</div>
<div css={[danger, base]}> // always rerender
This will be also be turquoise since the base styles
overwrite the danger styles.
</div>
<div css={[base, danger]}>This will be red</div> // always rerender
</div>
)