首页 > 解决方案 > componentDidMount() 在 reactJs v15.x 中不起作用

问题描述

我正在尝试使用 componentDidMount 将数据从 axios 设置为组件状态,但它不起作用

我通过这个简单的代码检查了它

import React, { Component } from "react";
import ReactDOM from "react-dom";
import axios from 'axios';
import "./styles.css";

class App extends Component {
  constructor(props){
    super(props);
    state:{
      textures:null
    }
    componentDidMount(){
      let data = axios.get('http://127.0.0.0:8000/wall)
                .then(res => {
        this.setState({textures:res}
      });

      )
      }
  render() {
    return (this.state.textures);
  }
}

export default new App();

在 index.js 中

import App from '/app.js';

console.log(App.render());

输出是null

标签: reactjs

解决方案


将您的状态对象从构造函数移至类属性。

您的构造函数具有与组件状态无关的局部状态变量。

您必须从构造函数中设置属性或从类中初始化。

class App extends Component {
    state = {
        textures: null
     }
............

推荐阅读