我看到,如果我在例如中設置了fontFamily
,那麼內部元素不會繼承它的屬性。它是否存在可反應原生樣式的級聯概念?我如何完成它?最簡單的方法來反應原生
1
A
回答
0
將樣式傳遞爲在CSS中複製級聯的道具。所有子組件都可以繼承style
支柱來實現此目的。它想實現:
const styles = StyleSheet.create({
instructions: {
fontSize: 16,
textAlign: 'center',
margin: 15,
},
});
render() {
return (
<View style={styles.container}>
<Text style={styles.instructions}>
<ChildComponent
cascadingStyle={styles}
/>
</View>
);
}
這裏是我創建演示rnplay.org/apps/dErxuQ
-1
下面是一個例子爲例,父組件將級聯它的風格給孩子們。因此,所有的文本將是紅色的字體在這裏:
render() {
return (
<View style={styles.red}>
<Text>just red</Text>
<Text>just</Text>
<Text>red</Text>
<Text>red</Text>
</View>
);
}
}
const styles = StyleSheet.create({
red: {
color: 'red',
},
});
0
顯然,在這一刻組件只能繼承父的屬性只如果父是同類型的,或者至少也支持屬性繼承。我在主要的View
組件中設置了fontFamily,並沒有在Text
兒童中繼承。
2
我發現避免重複樣式道具的最簡單方法是封裝在一個組件中。例如:
const Item = ({ text }) => <Text style={{ padding: 10 }}>{text}</Text>
const Consumer =() =>
<View>
<Item text="Item 1" />
<Item text="Item 2" />
<Item text="Item 3" />
</View>
相關問題
- 1. 轉換ArrayList中的最簡單的方法來反對[] []
- 2. 反應原生滑動導航方法?
- 3. 最簡單的算法來反向衝突方向
- 4. XNA簡單的方法來產生enemys
- 5. 最簡單的方法來創建JAR?
- 6. 最簡單的方法來總計列?
- 7. 最簡單的方法來從URL
- 8. 從自我反應到自我反應最簡單的方法是什麼?
- 9. javascript反應原生的Firebase簡單身份驗證
- 10. 最簡單的方法來創建簡單的3D ios應用程序
- 11. 簡單的方法來返回到原來的「HEAD」
- 12. 還原 - 反應簡單你好世界
- 13. 最簡單的方法來發布角2應用到Amazon AWS
- 14. 最簡單的方法
- 15. 最簡單的方法
- 16. 最簡單的方法
- 17. 最簡單的方法
- 18. 最簡單的方法
- 19. 最簡單的方法
- 20. 最簡單的方法
- 21. 最簡單的方法
- 22. 最簡單的方法
- 23. 最簡單的方法
- 24. 最簡單的方法
- 25. 呈現最簡單的成分反應
- 26. 反應原生。 Animated.subtract
- 27. 反應原生ListView
- 28. 最簡單的方法來處理OPTIONS方法?
- 29. 最簡單的方法來檢索最新的推文?
- 30. 反應原生側菜單不工作
RN級聯樣式子你,如果你使用的樣式屬性,你可以閱讀更多關於它在這裏 - https://facebook.github.io/react-native/docs/style.html –
@MattAft是的,它說'一個常見的模式是讓你的組件接受一個樣式道具,而這個樣式道具反過來用於樣式子組件。你可以用它來使CSS樣式「級聯」。但我不確切地知道這是什麼意思。 – R01010010
我編輯了我的答案,以向你展示... – Maxwelll