如何在React Native中注入JavaScript?

时间:2018-12-05 15:50:21

标签: javascript reactjs react-native

我正在开发React本机应用程序。我超级困惑如何在响应本机中注入javascript代码。尽管我在以某种方式努力使用react native,但是有时候我还是需要在我的react native中注入一些javascript代码,或者说homescreen.js类型的文件,但是我最终还是遇到了语法错误。例如:

我正在尝试在样式表中实现这一点。

const styles = Stylesheet.create({
  //some styles
  viewStyle:{
    Platform.select({
      ios:{
        marginTop:2,
      },
      android:{
        marginTop:3
      }
   });
  }
  //some styles
});

但是它根本不起作用!,即使我应用...Platform而不是Platform也不起作用。 **注意:我有import {Platform} from 'react-native'

我的版本是0.57.something,但是我想知道的是在这些文件中实现javascript的语法是什么。就像在PHP中一样,我们有以下内容:

<?php
  //your logic 
  for(something){
?>
<View></View>
<?php
  }
?>

与其他语言类似,我们有类似<% %>{{ }}标签的东西,但是我应该在React Native中使用什么。我总是以语法错误告终。

所以我的问题是,谁能帮助我了解React Native的限制是什么,我可以在哪里使用和不应该使用标签?如果有标签,它们是什么?

我非常困惑,无法在Stack Overflow的任何地方找到类似的问题。我将不胜感激任何人的投入,回答越多越有帮助。

1 个答案:

答案 0 :(得分:2)

因此,我不确定您设置了哪种结构,但我将假设您只有一个文件(将其称为homescreen.js),并且您想为组件定义样式。我假设您已经从StyleSheet导入了所有必要的内容(PlatformViewTextreact-native,并且默认导出了{{1} }来自React)。

首先,让我们制作样式表。上面的代码几乎正确无误,您需要满足以下条件:

react

(您上面提到您遇到语法错误,这可能是由于样式表对象中的分号引起的。)

现在,我们需要为您的HomeScreen组件创建React类。同样,不确定上下文,但是您应该能够提取出所需的位。

const styles = Stylesheet.create({
  viewStyle: Platform.select({
    ios:{
      marginTop:2,
    },
    android:{
      marginTop:3
    }
  })
})