reactjs - 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
解决方案
将您的状态对象从构造函数移至类属性。
您的构造函数具有与组件状态无关的局部状态变量。
您必须从构造函数中设置属性或从类中初始化。
class App extends Component {
state = {
textures: null
}
............
推荐阅读
- javascript - 合并嵌套数组并对值求和
- python - 如何在不同节点训练独立的keras模型(尴尬的并行工作负载)
- php - 获取数组中键周围的数字
- python - 由于语法无效,气流 initdb 失败
- javascript - ipad safari中的jquery css动画不流畅
- javascript - 如何在 JQuery 的父函数中为全局变量赋值
- git - 嵌套仓库:取消子模块与 github 的链接,但父模块仍跟踪文件
- java - 如何使用自动线程管理在 Java 中实现生产者/消费者
- php - 如何使面包屑响应?
- search - 谷歌求职未显示带有 schema.org 语法的公司徽标集