FlatList的onClick转到下一屏幕
我如何做一个Flatlist导航到下一个屏幕时,单击某一行是Flatlist内的反应母语?FlatList的onClick转到下一屏幕
编辑:我贴我的JS文件中的所有代码。
这里是我的flatlist代码:
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
FlatList,
Button,
TouchableOpacity,
TouchableHighlight
} from 'react-native'
const Tasks = (props) => {
const { navigate } = props.navigation;
return (
<View style={styles.container}>
<FlatList
data={[
{key: 'Task 1'},
{key: 'Task 2'},
{key: 'Task 3'},
{key: 'Task 4'},
{key: 'Task 5'},
]}
renderItem={({item}) => <TouchableHighlight onPress={() => this.goToNextScreen()}>
<Text style={styles.item}>{item.key}</Text>}
</TouchableHighlight>}
/>
<TouchableOpacity style={{ height: 50, marginTop: 5, marginLeft: 100, marginRight: 100 }}>
<Button
onPress={()=>navigate('Steps')}
title="Steps"
/>
</TouchableOpacity>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: 22
},
item: {
padding: 10,
fontSize: 18,
height: 44,
},
})
Tasks.navigationOptions = {
title: 'Task Order',
};
export default Tasks
我有那个简单的例子:
//Tasks Component
const Tasks = (props) => {
const { navigate } = props.navigation;
//function to go to next screen
goToNextScreen =() => {
return navigate('Detail');
}
return (
<View>
<FlatList
data={[
{key: 'Task 1'},
{key: 'Task 2'},
{key: 'Task 3'},
{key: 'Task 4'},
{key: 'Task 5'},
]}
renderItem={({item}) => {
return(
<TouchableHighlight onPress={() => this.goToNextScreen()}>
<Text >{item.key}</Text>
</TouchableHighlight>
)
}
}
/>
</View>
);
}
//example for detail screen
const Detail = (props) => {
const { navigate } = props.navigation;
return(
<View><Text>Detail Screen</Text></View>
);
}
//initial screen
const App = StackNavigator({
Tasks: {screen: Tasks},
Detail: {screen: Detail},
})
也许可以帮助你,谢谢:)
给我一个错误,先生,说一个有效的反应元素(或空)必须返回 – orange
我认为有错误的代码在你的问题:) –
为什么你把按钮在TouchableHighlight的底部?你可以使用TouchableHighlight,并不需要再次按键确定 –
这是**不* *完整的代码!没有render()函数?什么是道具导航? – David
它在index.android.js – orange
即使它在index.android.js,这将无法正常工作没有渲染功能! – David