Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应错误:';价值观';未定义,没有未定义_Javascript_Reactjs - Fatal编程技术网

Javascript 反应错误:';价值观';未定义,没有未定义

Javascript 反应错误:';价值观';未定义,没有未定义,javascript,reactjs,Javascript,Reactjs,我正在尝试使用NPX create react应用程序构建请求表单。该应用程序有六个组件:UserForm(充当容器)RequestType、UserDetails、PaymentDetails、Confirmation和Success。在RequestType组件中有三种请求类型供用户选择。根据用户的选择,“付款详细信息”组件将呈现不同的字段供用户填写。因此,确认组件需要根据“付款详细信息”组件中呈现的内容显示不同的项目 我的确认组件中未定义“值”错误(下面提供的代码)。我使用ES6重构从th

我正在尝试使用NPX create react应用程序构建请求表单。该应用程序有六个组件:UserForm(充当容器)RequestType、UserDetails、PaymentDetails、Confirmation和Success。在RequestType组件中有三种请求类型供用户选择。根据用户的选择,“付款详细信息”组件将呈现不同的字段供用户填写。因此,确认组件需要根据“付款详细信息”组件中呈现的内容显示不同的项目

我的确认组件中未定义“值”错误(下面提供的代码)。我使用ES6重构从
this.props中提取值,并认为我已经定义了“值”

标记只是以下代码中的一个占位符,一旦错误消失,我会让一些JSX标记进入其中

import React, { Component } from 'react';
export default class Confirm extends Component {
    continue = e => {
        e.preventDefault();
        this.props.nextStep();
      };
    back = e => {
        e.preventDefault();
        this.props.prevStep();
     };
    render() {
    const {values: {request, empName, empPersonnelNo, postName, postNumber...more items but are
                omitted here}
               } = this.props;
    return (
        <div>
            {values.request==="actingUp" && <p>You are requesting acting up payments</p>}
        </div>
        )
      }
    }

import React,{Component}来自'React';
导出默认类扩展组件{
继续=e=>{
e、 预防默认值();
this.props.nextStep();
};
后退=e=>{
e、 预防默认值();
this.props.prevStep();
};
render(){
常量{值:{request,empName,empnersonnelno,postName,postNumber…更多项,但不可用
此处省略}
}=这是道具;
返回(
{values.request===“actingUp”&&&p>您正在请求代理付款

} ) } }
这是因为您已破坏变量
值。首先获取
,然后将其销毁

const {values} = this.props
const {request, empName, empPersonnelNo, postName, postNumber...more items but are
                omitted here} = values

返回(
{request===“actingUp”&&&&p>您正在请求代理付款

} )
而不是

return (
        <div>
            {values.request==="actingUp" && <p>You are requesting acting up payments</p>}
        </div>
        )
返回(
{values.request===“actingUp”&&&p>您正在请求代理付款

} )
非常感谢@jornsharpe试图帮助我。我实际上不知道如何构造一个最小的可复制的示例,因为我的代码相当复杂。然而,我已经找到了解决问题的方法——从values.request中删除values===“actingUP”,代码似乎产生了预期的结果。但我不知道为什么它会起作用。再次感谢..

请给出一个实际值。我偶然发现,通过从“values.request”中删除值,我得到了期望的结果,但我不知道为什么它会起作用。非常感谢Alexander Vidaurre Arroyo的清晰解释,现在我明白了它为什么起作用了。
return (
        <div>
            {values.request==="actingUp" && <p>You are requesting acting up payments</p>}
        </div>
        )