React native 反应本机-动态更改样式表

React native 反应本机-动态更改样式表,react-native,react-native-android,react-native-ios,React Native,React Native Android,React Native Ios,Im用react native编写项目,需要rtl支持英语和阿拉伯语。不过,我正在尝试自己的代码,而不是使用rtl插件。直截了当地说,我想知道的是,我是否可以动态地更改样式表,以便所有类都在:position:absolute中。如果它有一个左属性或右属性,要反转它吗 例如,如果类是绝对定位的,并且具有: 左:20, 我可以自动使其成为: 右:20, 反过来也一样?这在react native中是可能的 是的,你可以这样做 const styles = StyleSheet.create({

Im用react native编写项目,需要rtl支持英语和阿拉伯语。不过,我正在尝试自己的代码,而不是使用rtl插件。直截了当地说,我想知道的是,我是否可以动态地更改样式表,以便所有类都在:position:absolute中。如果它有一个左属性或右属性,要反转它吗

例如,如果类是绝对定位的,并且具有: 左:20,

我可以自动使其成为: 右:20,


反过来也一样?这在react native中是可能的

是的,你可以这样做

const styles = StyleSheet.create({
  yourView: {
    left: isRight ? 0 : 20,
    right: isRight? 20: 0,
  },
});
其中isRight是您之前定义的变量

另一种方法是创建,将其分离为不同的样式,并在渲染时附加样式。差不多

const styles = StyleSheet.create({
  yourView: {
    ...common styles here
  },
  leftView: {
    left: 20,
  },
  rightView: {
    right: 0,
  },
});
然后在渲染方法中,u将附加样式,如下所示:

render() {
  return (
    <View styles={[styles.mainView, isRight ? styles.leftView : styles.rightView]}/>
  )
}