我正在尝试学习如何使用react-native,所以我建立了一个小应用程序,从服务器获取用户列表,将其显示在一个listview按钮中,打开一个显示用户数据的屏幕.
我设置了一个导航器,从一个屏幕到另一个屏幕.按下行时,我可以打开一个新屏幕,但我无法想象如何将数据传递到这个新屏幕.
我在里面设置了一个导航仪 index.android.js
import React from 'react';
import {
AppRegistry,
Navigator,
} from 'react-native';
import ContactList from './src/containers/ContactList.js';
function MyIndex() {
return (
<Navigator
initialRoute={{ name: 'index', component: ContactList }}
renderScene={(route, navigator) => {
if (route.component) {
return React.createElement(route.component, { navigator });
}
return undefined;
}}
/>
);
}
AppRegistry.registerComponent('reactest', () => MyIndex);
Run Code Online (Sandbox Code Playgroud)
首先,我显示一个带有按钮和空列表视图的屏幕(ContactList.js),按下按钮后,我获取了一些用于更新的JSON数据listview:
import React, { Component, PropTypes } from 'react';
import {
Text,
View,
TouchableOpacity,
TouchableHighlight,
ListView,
Image,
} from 'react-native';
import styles …Run Code Online (Sandbox Code Playgroud) 我正在尝试安装我在genymotion模拟器上工作的应用程序,我一直收到以下错误.它是一个反应本机应用程序
10:30:50 E/SplitApkInstaller: Failed to finalize session : -26: Package com.my.project new target SDK 22 doesn't support runtime permissions but the old target SDK 23 does.
Unable to install /home/myProject/android/app/build/outputs/apk/app-debug.apk
com.android.ddmlib.InstallException: Failed to finalize session : -26: Package com.my.package new target SDK 22 doesn't support runtime permissions but the old target SDK 23 does.
at com.android.ddmlib.SplitApkInstaller.install(SplitApkInstaller.java:92)
at com.android.ddmlib.Device.installPackages(Device.java:904)
at com.android.builder.testing.ConnectedDevice.installPackages(ConnectedDevice.java:136)
at com.android.build.gradle.internal.tasks.InstallVariantTask.install(InstallVariantTask.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:141)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123)
at …Run Code Online (Sandbox Code Playgroud) 我在使用 Picker 时遇到奇怪的行为。
\n\n我使用选择器如下:
\n\n<Picker\n mode="dropdown"\n style={styles.pickerField}\n selectedValue={this.state.dayAndTime}\n onValueChange={(text) => this.setState({ dayAndTime: text })}\n>\n <Picker.Item label="Le 5/07 \xc3\xa0 15H" value="0" key="0" />\n</Picker>\nRun Code Online (Sandbox Code Playgroud)\n\n当加载显示此选择器的屏幕时,我收到一个错误屏幕(参见下面的屏幕截图):未定义不是对象(评估 \'this.props.children[position].props)
\n\n根据我收集的信息,我的问题来自 Libraries/Components/Picker/PickerAndroid.android.js 的第 106 行,似乎有一个属性“onValueChange”会触发它。我删除了它,并且没有发生错误。
\n\n我使用react-native 0.31.0,我使用带有genymotion的android api 23虚拟设备。
\n\n我做错了什么吗?
\n\n\n