Javascript 学校项目出现此错误:渲染未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回null

Javascript 学校项目出现此错误:渲染未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回null,javascript,reactjs,Javascript,Reactjs,我正在为学校做一个项目,我的代码的非渲染部分出现了这个错误 fetchCharacterData = () => { var encodedURI = window.encodeURI(this.props.uri); return axios.get(encodedURI).then(response => { this.setState(() => { return { characte

我正在为学校做一个项目,我的代码的非渲染部分出现了这个错误

fetchCharacterData = () => {
    var encodedURI = window.encodeURI(this.props.uri);
    return axios.get(encodedURI).then(response => {
        this.setState(() => {
            return {
                characterData: response.data
            };
        });
    });
};
读取this.setState=>{的那行代码有问题,我尝试了其他问题的建议,但这行代码似乎不起作用

componentDidMount() {
    this.fetchCharacterData();
    console.log("MOUNT");
}

render() {
    console.log(this.state.characterData);
    if (this.state.characterData.length === 0) {
       return <div>Failed to fetch data from server</div>;
    }
    const characters = this.state.characterData.map(character => {
       return <div key={character.name}><em>: {character.name}</em>: {character.class} </div>
    });
}

您需要在渲染函数中返回一些内容-错误与粘贴的代码无关

class YourComponent extends React.Component {

    // ...

    fetchCharacterData = () => {
        var encodedURI = window.encodeURI(this.props.uri);
        return axios.get(encodedURI).then(response => {
            this.setState(() => {
                return {
                    characterData: response.data
                };
            });
        });
    };

    // ...

    // It's this part causing the error.
    // It either returns nothing, or doesn't exist.
    render() {
        return <div>Your page content</div> // or return null
    }
}

您需要在渲染函数中返回一些内容-错误与粘贴的代码无关

class YourComponent extends React.Component {

    // ...

    fetchCharacterData = () => {
        var encodedURI = window.encodeURI(this.props.uri);
        return axios.get(encodedURI).then(response => {
            this.setState(() => {
                return {
                    characterData: response.data
                };
            });
        });
    };

    // ...

    // It's this part causing the error.
    // It either returns nothing, or doesn't exist.
    render() {
        return <div>Your page content</div> // or return null
    }
}

尝试像这样调整渲染函数

render() {
    if (this.state.characterData.length === 0) {
       return <div>Failed to fetch data from server</div>;
    }
    const characters = this.state.characterData.map(character => {
       return <div key={character.name}><em>: {character.name}</em>: {character.class} </div>
    });
    /******************/
    return characters;
    /******************/
}

尝试像这样调整渲染函数

render() {
    if (this.state.characterData.length === 0) {
       return <div>Failed to fetch data from server</div>;
    }
    const characters = this.state.characterData.map(character => {
       return <div key={character.name}><em>: {character.name}</em>: {character.class} </div>
    });
    /******************/
    return characters;
    /******************/
}

你能粘贴渲染函数的内容吗?这就是导致此错误的原因。在上面添加了它。你正在创建该字符数组,但你确实没有从该路径上的渲染方法返回任何内容。根据我的控制台,它正在提取应该显示的信息。我不确定这样做时要更改什么是他们声称有效的学校提供的代码。你不返回映射结果。你能粘贴渲染函数的内容吗?这就是导致此错误的原因。上面添加了它。你正在创建字符数组,但你确实没有从该路径上的渲染方法返回任何内容。根据我的控制台,它是拉取应该显示的信息。我不确定要更改什么,因为这是他们声称有效的学校提供的代码。你不返回地图的结果。你看过React文档了吗?它们确实是最好的文档之一-我认为它们可以帮你弄清楚渲染方法的作用d为什么需要:你看过React文档了吗?它们确实是最好的文档之一-我想它们会帮助你了解渲染方法的功能以及为什么需要它: