Reactjs setState不使用导入类组件

Reactjs setState不使用导入类组件,reactjs,react-native,Reactjs,React Native,我在App.js中制作了一个类组件标记&导入 在App.js中,有一个api具有带有授权密钥(即令牌)的标题 到目前为止,我已经尝试过这个代码 import React, {Component} from 'react'; import Token from './Token'; class App extends Component { constructor(){ super(); this.state = { sliders: '',

我在App.js中制作了一个类组件标记&导入 在App.js中,有一个api具有带有授权密钥(即令牌)的标题

到目前为止,我已经尝试过这个代码

import React, {Component} from 'react';
import Token from './Token';

    class App extends Component {

      constructor(){
        super();
        this.state = { sliders: '', auth_key: ''};
      }

      componentWillMount(){
        this.setState({
          auth_key: <Token />
        });
      }

      componentDidMount = () => {
        //POST json
        var dataToSend = { userid: '223' };

        //POST request
        fetch('API/PATH', {
          method: 'POST', //Request Type
          body: dataToSend, //post body
          headers: {
            'Content-Type': 'application/json',
            'Authorization': this.state.auth_key
          },
        })
        .then(response => response.json())
        .then(responseJson => {
          this.setState({ sliders: responseJson });
          alert(JSON.stringify(responseJson));
        })
        .catch(error => {
          console.error(error);
        });
      }

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

    }

    export default App;

为什么令牌必须是一个组件?因为我必须在整个项目中使用此令牌来访问Rest ApiCan,您可以共享
令牌的代码吗?。如果它只是一个字符串,您不必将其作为一个组件,只需导出字符串,整个项目仍然可以使用它。顺便说一句,您应该确保这个密钥不是私有的。您可以定义一个共享函数来实现这一点,它也可以工作。如果您需要帮助设置,只需显示
组件内容,这样我们就可以将其重构为一个返回令牌的简单函数。编辑了我的问题,请检查令牌为什么必须是一个组件?因为我必须在整个项目中使用此令牌来访问Rest ApiCan,您可以共享
令牌的代码吗?。如果它只是一个字符串,您不必将其作为一个组件,只需导出字符串,整个项目仍然可以使用它。顺便说一句,您应该确保这个密钥不是私有的。您可以定义一个共享函数来实现这一点,它也可以工作。如果您需要帮助设置,只需显示
组件内容,这样我们就可以将其重构为一个简单的函数,返回令牌。编辑我的问题,请检查
import {Component} from "react";

export default class Token extends Component{
    constructor(){
        super();
        this.state = {tokenid: ''};
    }

    componentDidMount = () => {
        let formBody = { usertoken: '223' };

        fetch('API/PATH', {
            method: 'POST',
            body: formBody,
        })
        .then(response => response.json())
        .then(responseJson => {
            this.setState({
                'tokenid' : responseJson.authtoken
            })
        })
        .catch(error => {
            console.error(error);
            this.setState({
                'tokenid' : ''
            })
        });
    }

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