在URL之外访问axios主体参数

时间:2019-05-17 06:32:02

标签: javascript reactjs parameters axios

我有这个axios请求:

 axios.all([

    axios.post(baseURL+'sentiments', {
      sentiment_type: 'positive',
      filter_tab: type
    }),

    axios.post(baseURL+'sentiments', {
      sentiment_type: 'negative',
      filter_tab: type
    })
])
    .then(axios.spread(result1, result2) => { 
          console.log(result1),
          console.log(result2)
    })
    .catch(err => {
          console.log(err)
    })

然后在我的渲染方法中, 我试图实现的是将“ sentiment_type”值“ positive”访问到某个变量或某些内容中,以进一步将其用于条件渲染。

if(sentiment_type === positive){ 
   then do this
 }
else{ 
      do something else
    }

有没有办法做到这一点?请指导。

1 个答案:

答案 0 :(得分:2)

我假设这部分代码是组件的一部分。 您可以将这些变量存储在本地存储中。 以下是更多信息的链接:State and Lifecycle

和一个例子,希望对您有所帮助。

    class parentComponent extends React.Component {
  state = {
    sentiment_types: [];
  }

  componentDidMount() {
    axios.post(baseURL+'sentiments', {
              sentiment_type: 'positive',
              filter_tab: type
    })
    .then((firstResponse) => { 
            axios.post(baseURL+'sentiments', {
                sentiment_type: 'negative',
                  filter_tab: type
            })
            .then((secondResponse) => {
                // Here you can store you results into the state
                this.setState({
                    sentiment_types: ['positive', 'negative'];
                })
            })
            .catch(err => {
                console.log(err);
            })          
          console.log(result)
    })
    .catch(err => {
          console.log(err)
    })
  }

  render() {
   <childComponent sentiment_types={this.state.sentiment_types} />
  }
}

const childComponent = (props) => {
    if(props.state.sentiment_types.includes('positive')){
        return <h1>oke</h1>
    }
}