React native 对此作出反应;功能';这不是一个函数 我在学习的过程中反应了本土化和反复无常,这里有很多类似的问题,但我很难与我的问题联系在一起。

React native 对此作出反应;功能';这不是一个函数 我在学习的过程中反应了本土化和反复无常,这里有很多类似的问题,但我很难与我的问题联系在一起。,react-native,React Native,当我在另一个方法中调用一个方法时,它总是返回这样的信息:“某个函数”不是函数,我真的不知道该怎么做 这是我的一些代码 import React, { Component } from 'react'; import { Text, StyleSheet, ScrollView } from 'react-native'; import { connect } from 'react-redux'; import Panel from '../components/panel'; class O

当我在另一个方法中调用一个方法时,它总是返回这样的信息:“某个函数”不是函数,我真的不知道该怎么做

这是我的一些代码

import React, { Component } from 'react';
import { Text, StyleSheet, ScrollView } from 'react-native';
import { connect } from 'react-redux';
import Panel from '../components/panel';

class Orders extends Component {
    displayItems(obj) {
        console.log('itemArr', obj);
        return obj.items.map(function(item){
           return (<Text>{item.quantity + ' ' + item.name}</Text>)
        });
    }

    renderContents() {
        console.log('orders', this.props.orders);
        if (!this.props.orders) {
            return <Text>Loading...</Text>;
        }
        return this.props.orders.map(function(order) {  
                return (
                    <Panel title={order.id} key={order.id}>
                        <Text>
                            Item: {this.displayItems(order)}{'\n'}

                        </Text>
                    </Panel>
                );
        });
    }

    render() {
        return(
            <ScrollView style={styles.container}>
                {this.renderContents()}
            </ScrollView>
        );
    }
}
import React,{Component}来自'React';
从“react native”导入{Text,StyleSheet,ScrollView};
从'react redux'导入{connect};
从“../components/Panel”导入面板;
类命令扩展组件{
显示项目(obj){
console.log('itemArr',obj);
返回对象项映射(函数(项){
返回({item.quantity+''+item.name})
});
}
renderContents(){
console.log('orders',this.props.orders);
如果(!this.props.orders){
返回装载。。。;
}
返回this.props.orders.map(函数(顺序){
返回(
项:{this.displayItems(顺序)}{'\n'}
);
});
}
render(){
返回(
{this.renderContents()}
);
}
}
我不确定为什么render方法中的函数不会导致任何错误,但是renderContents方法中的函数调用会导致任何错误


我非常感谢任何关于解决这个问题的建议。

这是一个有约束力的问题。JavaScript中的函数有它们自己的
这个
上下文,除非另有明确说明,所以当您这样做时

return this.props.orders.map(function(order) {  
  return (
    <Panel title={order.id} key={order.id}>
      <Text>Item: {this.displayItems(order)}{'\n'}</Text>
    </Panel>);
});

箭头函数没有自己的上下文,因此这应该适合您。您也可以调用,但我认为箭头函数解决方案更简单。

道具来自哪里?你能添加全部代码吗?
return this.props.orders.map((order) => {  
  return (
    <Panel title={order.id} key={order.id}>
      <Text>Item: {this.displayItems(order)}{'\n'}</Text>
    </Panel>);
});