ReactJS加载函数“不是函数" [英] ReactJS Load Function “is not a function”

查看:55
本文介绍了ReactJS加载函数“不是函数"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在设置一个react-cookie npm软件包,但是试图加载cookie来调用用户,但是却没有一个功能.如何正确设置呢?

I'm setting up a react-cookie npm package but trying to load cookies as to call users but getting a not a function. How do I set up this correctly?

这是我现在尝试过的.当有人输入用户名的名字和姓氏时,它将进入 http://192.168.1.163: 3000/用户/页面.

This is what I had tried right now. When someone put in user id first-name and last-name it will go to http://192.168.1.163:3000/users/ page.

import React, { Component } from 'react';
import '../sass/main.scss';
import Navbar from 'react-bootstrap/Navbar';
import Nav from 'react-bootstrap/Nav';
import ModalLogin from '../components/Modal/Login';
import ModalSignup from '../components/Modal/Signup';
import { Cookies } from 'react-cookie';
import axios from 'axios';

class App extends Component {
    constructor() {
      super();
      // call user and that 
      var user = Cookies.load('user');
      var that= this;
      this.state = {name: null, signedIn: false}

      //  When someone put in user id first-name and last-name it will go to http://192.168.1.163:3000/users/ page
      if (user){
        axios.get('http://192.168.1.163:3000/users/' + user.id)
          .then(function (response) {
            console.log(response);
            that.setState({name: response.data.data.attributes['first-name'] + ' ' + response.data.data.attributes['last-name'], signedIn: true});
            //this.setState({ showModal: false });
          })
          .catch(function (error) {
            console.log(error);
          });
        }
      this.render.bind(this);
    }

    render() {
        return (
          <Navbar expand="lg">
              <Navbar.Brand href="#home">Kommonplaces</Navbar.Brand>
              <Navbar.Toggle aria-controls="basic-navbar-nav" />
              <Navbar.Collapse id="basic-navbar-nav">
                <Nav className="ml-auto">
                  <Nav.Link href="#activities">Activities</Nav.Link>
                  <Nav.Link href="#space">List Your Space</Nav.Link>
                  <Nav.Link className={this.state.signedIn === true ? 'hidden' : ''}>Sign up</Nav.Link>
                  <Nav.Link className={this.state.signedIn === true ? 'hidden' : ''}>Log in</Nav.Link>
                </Nav>
              </Navbar.Collapse>
          </Navbar>
        );
    }
}

export default App;```

推荐答案

您可能正在Cookies

  var user = Cookies.get('user');

https://github.com/reactivestack /cookies/tree/master/packages/react-cookie#getname-options

这篇关于ReactJS加载函数“不是函数"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆