【问题标题】:React-Native Flatlist is not Rendring due to some error由于某些错误,React-Native Flatlist 未呈现
【发布时间】:2019-05-22 10:34:54
【问题描述】:

Flatlist 实现但数据未正确呈现

App.js

import React, {Component} from 'react';
import Main from './components/MainComponents';
import {Platform} from 'react-native';



const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
  android:
    'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});


export default class App extends Component<Props> {
  render() {
    return (
        <Main />

    );
  }
}

MainComponent.js

import React,{Component} from 'react';
import {Menu} from './MenuComponent';
import { DISHES } from '../shared/dishes';


class Main extends Component{

    constructor(props){
        super(props);
        this.state={
            dishes: DISHES
        }
    }

    render(){
        return(
            <Menu dishes={this.state.dishes} />
        )
    }

}

export default Main

MenuComponent.js

import React,{Component} from 'react';
import {View,Flatlist } from 'react-native';
import {ListItem} from 'react-native-elements';

function Menu(props){


    const renderMenuItem=({item,index}) => {
        return(
            <ListItem
                key={index}
                title={item.name}
                subtitle={item.description}
                hideChevron={true}
                leftAvatar={{ source: require('./images/images/buffet.png')}}
            />
        )
    }

    return(
        <Flatlist 
        data={props.dishes}
        renderItem={renderMenuItem}
        keyExtractor={item => item.id.toString()}
        />
    )
}

export default Menu

错误

您可能忘记导出组件,或者您混淆了默认导入和命名导入

我已阅读所有相关的问题,但对我不起作用 新手到 react-native

非常感谢您的帮助

谢谢

【问题讨论】:

    标签: javascript reactjs react-native listitem react-native-flatlist


    【解决方案1】:

    由于菜单组件是默认导出的,所以不能像 {Menu} 那样导入它

    在您的 MainComponent.js 中

    改变

       import {Menu} from './MenuComponent';
    

       import Menu from './MenuComponent';
    

    还有

    改变

    import Main from './components/MainComponents';
    

    import Main from './components/MainComponent';
    

    【讨论】:

    • 错误位于 MainComponent 第 17 行和 App.js 第 26 行
    • 感谢他拯救了我的一天 再次感谢 Hemadri Dasari
    猜你喜欢
    • 2019-03-17
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    相关资源
    最近更新 更多