javascript - React Native - 未定义不是对象(评估 'item.menu_desc' )

标签 javascript android reactjs react-native ecmascript-6

我正在尝试将一些数据发送到我的数据库,但这些数据也来 self 的数据库。通过按发送按钮,显示的项目/数据应发送/添加到数据库中。

我尝试使用 this.setState({ name: item.menu_desc }) 但它给了我这个错误:

Error1 这是我的代码

export default class Dishes extends Component {
    constructor(props) {
        super (props)
        this.state = {
            ....
            ....
            name: null,
            menu_price: null,
        }
    }
    submit = ({ item, index }) => {
        this.setState({ name: item.menu_desc });          // my setStates
        this.setState({ menu_price: item.menu_price });
                fetch('http://192.168.***.***:3308/SendOrder/Send', {
                    method: 'POST',
                    headers: {
                        'Accept': 'application/json',
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                        ....
                        menu_desc: item.menu_desc,
                        menu_price: item.menu_price,
                    })
                }).then(res => res.json())
                    .then((responseJson) => {
                        Alert.alert(JSON.stringify(responseJson))
                        console.log(responseJson);
                    })
                .catch(error => console.error('Error:', error))
    }
        return (
            <View>
                .....
                <Text>Name: { item.menu_desc }</Text>       // This is name
                <Text>Price: ₱{ item.menu_price }</Text>    // This is price
                <Text>Status: { item.menu_status }</Text>
                .....
                <TouchableOpacity
                onPress = {(item,index) => this.submit(item,index)}>
                    <Text>Send Order</Text>
                </TouchableOpacity>
            </View>
        )
    }
    render() {
        return (
                <FlatList
                    data = {this.state.data}
                    keyExtractor={(item, index) => index.toString()}
                    extraData={this.state}
                    renderItem = {this._renderItem}
                />
            </View>
        )
    }
}

Error 2

最佳答案

您正在调用this.submit(item,index)

其中 item 是第一个变量,index 是第二个变量。 但是提交函数尝试像这样解构项目对象。

提交 = ({ item, index }) => {

删除花括号或将参数作为对象发送。

关于javascript - React Native - 未定义不是对象(评估 'item.menu_desc' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51525285/

相关文章:

javascript - 使线条跟随形状的轮廓

javascript - InAppBrowser event.url 始终未定义

java - 如何使用 Javascript 或 Java 获取 CPU 利用率

javascript - 将 JSX 元素作为数组中另一个 JSX 元素的子元素推送 (ReactJS)

javascript - 在分派(dispatch)之间检测到状态突变,但我没有改变状态

javascript - React如何获取父组件的属性

php - 如何解析 GCM 响应以使用 php 从服务器中删除无效的注册 ID

java - android.support.design.widget.TabItem 无法转换为 android.view.ViewGroup

java - 无法在 Android Studio 中查看所有 .jar 代码

javascript - 如何使用 JEST 对 React App 中的功能进行单元测试