小编Sti*_*ich的帖子

如何在React-native中循环和渲染元素?

是否可以在Render函数中循环相同的组件?

像这样的东西:

...

onPress = () => {
 ...
};

initialArr = [["blue","text1"],["red","text2"]];
buttonsListArr = [];

for (let i = 0; i < initialArr.length; i++) 
{
 buttonsListArr.push(
   <Button style={{borderColor:{initialArr[i][0]}}} onPress={this.onPress.bind(this)}>{initialArr[i][1]}</Button>
 );
}

...

render() {
  return (
    <View style={...}>
     {buttonsListArr}
    </View>
)};
Run Code Online (Sandbox Code Playgroud)

我的意思是这只是有限的组件列表,所以像ListView/ScrollView等任何组件都不适用于这种特殊情况.这只是语法问题.

react-native

46
推荐指数
3
解决办法
7万
查看次数

React Native app卡在空白的白色屏幕上,使用Nuclide进行远程调试

重现/截图的步骤

应用指令中的所有操作:

  1. 使用"$ react-native init [project name]"创建空白React Native项目

  2. 命令Palette(Cmd-Shift-P)中选择"Nuclide React Native:Start Packager"以启动React Native Server.

  3. 启动服务器后,您可以在应用程序开始运行时启动React Native Debugger.从命令Palette(Cmd-Shift-P)启动"Nuclide React Native:Start Debugging".

  4. 确保您位于React Native项目的根目录中,然后从命令行运行应用程序:"$ react-native run-ios"(或选择其他现有的模拟器,例如react-native run-ios - 模拟器= "的iPhone4s").(重要提示:#4应遵循#3之后,并且应关闭chrome调试器).

  5. 从iOS模拟器按Cmd-D(Linux上的Ctrl-D).这将为您的应用程序调出选项.选择"远程调试JS".

环境

Atom版本1.15.0

核素插件版本0.214.0

React Native版本:0.42.3

平台(iOS,Android或两者兼而有之?):iOS

设备信息模拟器/设备? - 模拟器iOS 10.2/iOS 8.1

OS版本? - MacOS 10.12.3

调试/发布? - 调试


同一个文档中说:"......从模拟应用程序启用调试(#5)后,Nuclide将自动附加到该调试过程,因为我们已经启动了上面的调试器(#3)." 在我点击"远程调试JS"之前,我看到按预期工作反应应用程序: 工作反应app

在我点击"Debug JS Remotely"之后,我看到Nuclide调试器将其状态从"Starting debugger ..."更改为"debugee当前正在运行".正如预期的那样:

debugee目前正在运行

但是,在我单击"远程调试JS"后,我看到白屏 白色的屏幕

而且没有任何错误.一旦我关闭远程调试,一切都会再次正常加载.

这只发生在Nuclide调试器上,使用chrome调试器一切正常.

debugging react-native nuclide-editor

25
推荐指数
1
解决办法
2383
查看次数

为什么shadowColor:'...' - 不适用于Android上的"react-native-drawer"组件的抽屉样式?

可能有人知道为什么"shadowColor"属性不适用于Android上的抽屉样式?(iOS看起来一切都好)

重现/编码片段/截图的步骤

<Drawer
 type="overlay"
 ...
 styles={{
  drawer: {shadowColor: 'black', shadowOpacity: 0.8, shadowRadius: 2}
   ...
 }}   
>
Run Code Online (Sandbox Code Playgroud)

截图

环境

react-native-drawer版本:2.3.0

React Native版本:0.41.2

平台(iOS,Android或两者兼而有之?):Android

设备信息模拟器/设备? - 模拟器Android 4.1(API16),模拟器Android 7.1.1(API25)

OS版本? - MacOS 10.12.3

调试/发布? - 调试

react-native react-native-android

4
推荐指数
1
解决办法
1398
查看次数

为什么React Native <Text>组件不显示布尔道具?

使用带有此代码的RN标准<Text>组件,我只看到"调试模式:"文本(但预期:"调试模式:真").

class ClassName extends Component {

  static propTypes = {
    debug: PropTypes.bool
  };

  render() {
    return (
      <View style={...}>
        <Text>Debug mode: {this.props.debug}</Text>
      </View>
    )
  }
}

const mapStateToProps = (state) => {
  console.log(typeof(state.debug); //boolean
  return {
    debug: state.debug
  }
}

export default connect(mapStateToProps)(ClassName);
Run Code Online (Sandbox Code Playgroud)

截图:

在此输入图像描述

如上所述,"state.debug"是布尔类型:

console.log(typeof(state.debug)); //boolean
Run Code Online (Sandbox Code Playgroud)

问题 - 为什么布尔道具没有显示/渲染?

react-native

3
推荐指数
1
解决办法
1860
查看次数