使用 API 设置状态不起作用;状态是一个空对象

Eri*_*Taw 5 javascript reactjs

这是有问题的 React 组件。

import React from 'react';

class JSONTest extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            title: '',
            description: '',
            lang: ''
        }
    }

    componentDidMount() {
        this.serverRequest = $.ajax({
            url: "/jinra/api/public/test",
            success: (data) => {
                this.setState({
                    title: data.title,
                    description: data.description,
                    lang: data.lang
                });
            }
        })
    }


    componentWillUnmount() {
        this.serverRequest.abort();
    }

    render() {
        return (
            <div>
                <h1>Title: {this.state.title}</h1>
                <p>Description: {this.state.description}</p>
                <p>Language(s): {this.state.lang}</p>
            </div>
        )
    }
};

module.exports = JSONTest;
Run Code Online (Sandbox Code Playgroud)

然而,当我进入 React Developer Tools 并查看组件的状态时,它说它是一个空对象,即使我在构造函数中明确将状态设置为具有空字符串。我已经测试了我的 API 调用,效果很好。这是我访问 API 时的 JSON 输出:

{"title":"Title","description":"This is a description.","lang":"Python"}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我假设 this.setState() 重新渲染视图,但事实显然并非如此。