// react-native example
import { StyleSheet, View } from 'react-native';
const styles = {
container: {
borderRadius: 4,
borderWidth: 0.5,
borderColor: '#d6d7da',
}
}
const stylesRN = StyleSheet.create(styles);
<View style={stylesRN.container}></View>
什么是最好的重用方法
// inner styles
{
borderRadius: 4,
borderWidth: 0.5,
borderColor: '#d6d7da',
}
无论是本机还是反应?
我想用伪代码(或React中的另一种重用方式)实现的目标:
<div style={magicAdapter(styles.container)}>Hello World!</div>
问题:如果没有magicAdapter,就不可能在react as is
中重用所有react-native内联样式。
答案 0 :(得分:2)
您可以做的是将所有样式存储在某个文件<?php
if(isset($_POST["input"]))
echo "You typed ".$_POST["input"];
?>
<form method="POST">
<input type="text" name="input">
<input type="submit">
</form>
中的对象中,将其导出,然后为React Native使用StyleSheets javascript类为div容器创建样式
e.g. const containerStyles = { borderRadius: 2 }
然后对于React,您可以对同一个对象进行内联样式化,但是请注意,并非StyleSheets支持的所有样式都可以用于内联样式化,因此,如果您想做等同的事情,可以使用类似{{1} }以在JS中动态加载CSS
https://github.com/emotion-js/emotion 这是一个例子
import {containerStyles} from '../someFile.js'
const styles = StyleSheets.create({
container: containerStyles
})
我希望这对您有帮助
答案 1 :(得分:0)
您可以将新组件的样式与容器的样式连接起来,如下所示
const styles = StyleSheet.create({
container: {
borderRadius: 4,
borderWidth: 0.5,
borderColor: '#d6d7da',
},
newComponent:{
// New component style
}
});
<View style={[styles.container, styles.newComponent]}>
</View>
答案 2 :(得分:0)
let dice = Math.floor(Math.random() * 5) + 2;
console.log(dice);