今天我遇到了問題。我想確保我的應用看起來不錯,這需要我做很多調整,特別是在邊緣/填充部分。ReactNative inline sytle vs Stylesheet.create
我的問題是:哪種方法更好?創建多個樣式表(在父組件上)只是爲了適應這些小的變化(我使用無邊距樣式表的可重用組件,這些邊距將從父組件繼承)還是讓它在組件上內聯?
我知道創建樣式表可能是更好的方法。但爲了適應這種繼承的風格,我將使用 style={[myComponentStyle, passedDownParentStyle]}
< - 它不會創建一個新的樣式表,然後通過取消使用Stylesheet.create的第一個目的?
任何人都可以在這方面的專家給我一些見解?
編輯 例子:
const Style = Stylesheet.create({
child: {
color: 'red'
},
parent1: {
padding: 5,
margin: 10
},
parent2: {
padding: 10,
margin: 5
}
})
class Child {
render() {
return (
<Text style={[Style.child, this.props.style]}>
{this.props.children}
</Text>
)
}
}
class Parent1 {
render() {
return (
<Child style={Style.parent1}>
Hello
</Child>
)
}
}
class Parent2 {
render() {
return (
<Child style={Style.parent2}>
World
</Child>
)
}
}
UPDATE 我的問題是:是不是style={[Style.child, this.props.style]}
使用廢止Stylesheet.create的目的是什麼?我不應該完全不使用它嗎?
感謝您的回答。現在我的問題是:使用'style = {[a,b,...]}'。這是不是無效Stylesheet.create的目的?我想在ReactNative引擎級別上,這將迫使ReactNative重新計算/合併創建的樣式表的屬性,以便創建新樣式。每次組件重新渲染時,都會重新計算風格。我對麼? @TheJizel –
@AndreeChristian這是我的理解。但是,我認爲您的組件只會呈現一次,除非您正在修改狀態或卸載和重新安裝。 – TheJizel