我使用styled-components作爲React樣式的解決方案。他們有一個很好的方法,使用模板文字來插入CSS。模板文字傳遞組件的道具,讓你可以做這樣的事情: 定義模板文字中的函數
const PasswordsMatchMessage = styled.div`
background: ${props => props.isMatching ? 'green' : 'red'};
`
結果是呈現一個div
標籤用綠色或紅色背景取決於isMatching
價值的成分。以上將通過JSX這樣來使用:
<PasswordsMatchMessage isMatching={doPasswordsMatch}>...</PasswordsMatchMessage>
每次的props
的值發生變化,這個字符串將被重新插。這最後使我想到我的問題:
模板文字內部定義的箭頭函數是否在每次插值模板文字時都重新定義?
如果是這樣,那麼我可以考慮在模板文字之外創建函數,並將其傳入,例如,
const PasswordsMatchMessage = styled.div`
background: ${isMatchingFn};
`
我不明白爲什麼這是行不通的。你測試過了嗎? –
@凱瑟拉它確實有效,那不是我的問題。我剛編輯我的帖子,使問題更清晰,因爲它有點埋了;) – maxedison
嗯。我不確定。你的問題是否有理由? –