Reactjs React无法从return访问变量

Reactjs React无法从return访问变量,reactjs,Reactjs,我是一个新的反应,我不能解决这个问题很长一段时间。想法如下,我从数据库中获取一些用户信息并将其传递到cookies中。从react端,我得到这个cookies作为JSON对象,我需要根据这个对象中的值为用户呈现菜单。现在,我将从父组件的cookies中获取的对象传递给它,并尝试从设置组件访问它。问题是,我可以看到从测试函数访问这个对象,但是当我试图从返回访问这个数据时,它给了我未定义的错误。从cookies返回值的函数是sync,我不知道为什么会发生这种情况,请帮助 由于this.state.s

我是一个新的反应,我不能解决这个问题很长一段时间。想法如下,我从数据库中获取一些用户信息并将其传递到cookies中。从react端,我得到这个cookies作为JSON对象,我需要根据这个对象中的值为用户呈现菜单。现在,我将从父组件的cookies中获取的对象传递给它,并尝试从设置组件访问它。问题是,我可以看到从测试函数访问这个对象,但是当我试图从返回访问这个数据时,它给了我未定义的错误。从cookies返回值的函数是sync,我不知道为什么会发生这种情况,请帮助

  • 由于
    this.state.shopSettings[“new_orders”]
    是布尔值,因此请使用三值
  • 不要将道具复制到构造函数内部的状态,因为构造函数只执行一次。因此,道具的更新不会反映在组件中
  • 像这样

    
    {props.shopSettings&&(props.shopSettings[“新订单”]?“真按钮”:“假按钮”)}
    
  • 由于
    this.state.shopSettings[“new_orders”]
    是布尔值,因此请使用三值
  • 不要将道具复制到构造函数内部的状态,因为构造函数只执行一次。因此,道具的更新不会反映在组件中
  • 像这样

    
    {props.shopSettings&&(props.shopSettings[“新订单”]?“真按钮”:“假按钮”)}
    
    使用此代码很容易解决问题,现在我可以在return内的shopSettings中访问任何密钥,而不会出现任何问题

    类索引扩展了React.Component{
    状态={
    shopSettings:Cookies.getJSON('shopSettings'))
    }
    render(){
    const{shopSettings}=this.state
    如果(!商店设置){
    返回空
    }
    返回(
    你好
    )
    
    }
    使用此代码很容易解决问题,现在我可以在return内的shopSettings中访问任何密钥,而不会出现任何问题

    类索引扩展了React.Component{
    状态={
    shopSettings:Cookies.getJSON('shopSettings'))
    }
    render(){
    const{shopSettings}=this.state
    如果(!商店设置){
    返回空
    }
    返回(
    你好
    )
    

    }
    测试
    功能中,您正在访问
    此.state.shopSetting
    而在组件中,您正在访问
    此.state.shopSettings
    (末尾有一个额外的S)。奇怪的是,
    test
    的日志应该是未定义的。我在截屏之前输入了一个错误,应该是test中的this.state.shopSettings,所以没有问题。好吧,如果你在
    render()中进行控制台操作,
    this.state.shopSettings
    的值是多少
    function?对象中可能不存在“new\u orders”键。当我调用console.log(this.state.shopSettings)时如果定义了enabled,则我得到了预期的对象,新的订单出现在按键中,并且它会记录两次,这可能会有帮助…在
    测试
    功能中,您正在访问
    this.state.shopSetting
    ,而在您的组件中,您正在访问
    this.state.shopSettings
    (最后有一个额外的S)。奇怪的是,
    test
    的日志应该是未定义的。我在截屏之前输入了一个错误,应该是test中的this.state.shopSettings,所以没有问题。好吧,如果你在
    render()中进行控制台操作,
    this.state.shopSettings
    的值是多少
    function?对象中可能不存在“new\u orders”键。当我调用console.log(this.state.shopSettings)时如果定义了enabled,我得到了预期的对象,新的订单出现在密钥中,它还记录了两次,可能会有帮助…不幸的是,没有帮助,这段代码似乎使我的计算机和浏览器过载,它变得非常滞后。不知道为什么会发生这种情况。我使用Cookies后100%地将它们作为对象获取。getJSONok-try
    {this.state.shopSettings&&this.state.shopSettings)[“new_orders”]}
    中的
    …如果它不起作用,那么共享console.log的输出…如果可能还共享更多代码id不起作用,我在render中附加了console.log(this.state.shopSettings)的输出。如果尝试console.log(this.state.shopSettings['new_orders'))我得到了未定义的所以发送项目结构和组件给这个变量这是预期的工作!谢谢,但有可能以某种方式访问这个变量吗?如果用户点击按钮等,我将需要更改它们,也许有比cookies更好的解决方案?我可以建立一个api,但我有关于身份验证的问题,我说现在使用的Next和膝关节炎都没有帮助,似乎这个代码过载了我的电脑和浏览器,它变得非常不稳定。不知道为什么会发生这种情况。我使用它们作为对象100%,因为我使用Cojik.GETJSONOK——尝试<代码> {St.Stuts&Stuts.Sturest.Suffice设置)[ [ NexOrthOrth] ] }。
    中…如果它不起作用,那么共享console.log的输出…如果可能的话也共享更多的代码。我在render中附加了console.log(this.state.shopSettings)的输出。如果try console.log(this.state.shopSettings['new_orders'),也可以我得到了未定义的所以发送项目结构和组件给这个变量这是预期的工作!谢谢,但有可能以某种方式访问这个变量吗?如果用户点击按钮等,我将需要更改它们,也许有比cookies更好的解决方案?我可以建立一个api,但我有关于身份验证的问题,我说n使用下一个和膝关节炎