如何消除 React Native FlatList 和 ScrollView Detail 屏幕中的空白?
JSON file
export default [
{
_id: '1001',
name: 'Weeks',
bir: 'Monday',
iki: 'Tuesday',
uc: 'Wednesday',
dort: 'Thursday',
bes: 'Friday',
alti: 'Saturday',
yedi: 'Sunday',
},
{
_id: '1002',
name: 'Months',
bir: 'January',
iki: 'February',
uc: 'March',
dort: 'April',
bes: 'May',
alti: 'June',
yedi: 'July',
sekiz: 'August',
dokuz: 'September',
on: 'October',
onbir: 'November',
oniki: 'December',
}
];
<FlatList
data={years}
keyExtractor={(item) => {
return `${item.name}`;
}}
renderItem={({item}) => {
return (
<Row
image={item.image}
name={item.name}
onPress={() => navigation.push('Details', {object: item})}
/>
export default (props) => {
const {object} = props.route.params;
return (
<View style={styles.body}>
<ScrollView>
<Text style={styles.textContainer}>{object.bir}</Text>
<Text style={styles.textContainer}>{object.iki}</Text>
<Text style={styles.textContainer}>{object.uc}</Text>
<Text style={styles.textContainer}>{object.dort}</Text>
<Text style={styles.textContainer}>{object.bes}</Text>
<Text style={styles.textContainer}>{object.alti}</Text>
<Text style={styles.textContainer}>{object.yedi}</Text>
<Text style={styles.textContainer}>{object.sekiz}</Text>
<Text style={styles.textContainer}>{object.dokuz}</Text>
<Text style={styles.textContainer}>{object.on}</Text>
<Text style={styles.textContainer}>{object.onbir}</Text>
<Text style={styles.textContainer}>{object.oniki}</Text>
</ScrollView>
</View>
答案 0 :(得分:0)
试试这个映射,它会解决你的问题
data = [
{
_id: '1001',
name: 'Weeks',
bir: 'Monday',
iki: 'Tuesday',
uc: 'Wednesday',
dort: 'Thursday',
bes: 'Friday',
alti: 'Saturday',
yedi: 'Sunday',
},
{
_id: '1002',
name: 'Months',
bir: 'January',
iki: 'February',
uc: 'March',
dort: 'April',
bes: 'May',
alti: 'June',
yedi: 'July',
sekiz: 'August',
dokuz: 'September',
on: 'October',
onbir: 'November',
oniki: 'December',
}
];
data.map(item=>(
Object.keys(item).map(children=>(
console.log(item[children])
))))
paramsObject = {
_id: '1001',
name: 'Weeks',
bir: 'Monday',
iki: 'Tuesday',
uc: 'Wednesday',
dort: 'Thursday',
bes: 'Friday',
alti: 'Saturday',
yedi: 'Sunday',
}
Object.values(paramsObject).map(children=>(
console.log(children,'params data')
))
//try this things
//Object.values(paramsObject).map(children=>(
// <Text>{children}</Text>
//))
为 React-naitve 试试这个
export default (props) => {
const {object} = props.route.params;
return (
<View style={styles.body}>
<ScrollView>
{Object.values(object).map(children=>(
<Text style={styles.textContainer}>{children}</Text>
))}
</ScrollView>
</View>
也试试这个。
export default (props) => {
const {object} = props.route.params;
return (
<View style={styles.body}>
<ScrollView>
{Object.keys(object).filter(item=>item !== '_id').map(children=>(
<Text style={styles.textContainer}>{object[children]}</Text>
))}
</ScrollView>
</View>
paramsObject = {
_id: '1001',
name: 'Weeks',
bir: 'Monday',
iki: 'Tuesday',
uc: 'Wednesday',
dort: 'Thursday',
bes: 'Friday',
alti: 'Saturday',
yedi: 'Sunday',
}
{Object.keys(paramsObject).filter(item=>item !== '_id').map(children=>(
console.log(paramsObject[children])
))}
答案 1 :(得分:0)
感谢@Waleed Nasir,
*name: 'Weeks',
image: require('../../assets/logo.png'),* => Do not show these codes