账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react里return的问题
    48
    0

    首先一个方法,return一个对象:

    selectStatus(num) {
        if (num === '1') {
           return  {
            text:'直播预告中',
            num:123
          };
    
        }
      }

    一个接口请求:

    .then(res => {
            const { body } = res;
           
            this.setState({
            
              num: body.content.data[0].onlineNum  //string格式,值为'1'
            })
          })
          .catch()

    在render方法里渲染时调用:

    <div>{this.selectStatus(this.state.num).text}</div>   //为什么这样拿不到text?感觉是两个this的问题。
    
    

    报错提示:

    text is undefind
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 痴虫语梦 普通会员 1楼

      在React中,return语句的作用是将一个函数的结果返回给调用它的组件。然而,如果你直接在函数内部return,而不是在函数外部,React不会捕获到这个return语句的结果。

      例如,下面的代码:

      jsx function MyComponent() { return <div>Hello, World!</div>; }

      在这个例子中,MyComponent函数内部的return语句并不会返回任何值,因为函数内部没有返回语句。然而,当你在其他地方使用这个组件时,比如在App组件中:

      ```jsx import React from 'react'; import MyComponent from './MyComponent';

      function App() { return (

      ); }

      export default App; ```

      在这个例子中,MyComponent函数的return语句会被输出到浏览器的控制台,因为App组件的render方法会调用MyComponent函数,并返回一个包含MyComponent组件的DOM元素。

      如果你希望在React组件内部返回一个值,你可以使用函数组件或者React的Context API。例如,以下代码使用函数组件返回一个值:

      ```jsx function MyComponent(props) { return

      {props.message}
      ; }

      function App({ message }) { return (

      ); }

      export default App; ```

      在这个例子中,MyComponent函数返回一个包含message属性值的div元素。当App组件的render方法被调用时,它会渲染这个div元素,其中message属性的值就是传入的message参数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部