我使用styled-components作为 React 样式的解决方案。他们有一个很好的方法,使用模板文字来插入 CSS。模板文字被传递给组件的 props,以便您可以执行以下操作:
const PasswordsMatchMessage = styled.div`
background: ${props => props.isMatching ? 'green' : 'red'};
`
结果是一个组件div
根据 的值呈现具有绿色或红色背景的标签isMatching
。以上将通过 JSX 像这样使用:
<PasswordsMatchMessage isMatching={doPasswordsMatch}>...</PasswordsMatchMessage>
每次值props
改变时,这个字符串都会被重新插值。这最终让我想到了我的问题:
每次插入模板文字时,是否会重新定义模板文字中定义的箭头函数?
如果是这样,那么我可能会考虑在模板文字之外创建函数并将其传入,例如
const PasswordsMatchMessage = styled.div`
background: ${isMatchingFn};
`