为什么在React功能组件中使用局部变量?

泡沫

我已经生成了一个功能组件,以使父组件可读且结构更好。

以下内容不起作用,即:尽管console.log打印显示所需的值,但该条件永远不成立。

const UpdateIcons = ({products, move2Program, onSaveTable}) => {

//the condition never fires even if console.log shows A, B, C as expected

    if (products['intake_mgr_decision'] === 'A' 
         && products['intake_family_decision'] === 'B' 
         &&  products['intake_status'] === 'C')
            return <button type="button"  className="btn btn-success pull-left" 
                        onClick={move2Program}>JOIN</button>

    return <button type="button"  className="btn btn-success pull-left" 
                        onClick={onSaveTable}>UPDATE</button>
  }

添加局部变量解决了该问题。

我的问题是为什么?有什么解释?

以下作品

const UpdateIcons = ({products, move2Program, onSaveTable}) => {

    let mgr_decision = products['intake_mgr_decision']
    let family_decision = products['intake_family_decision']
    let status = products['intake_status']

    if (mgr_decision === 'A' &&  family_decision === 'B' &&  status === 'C')
            return <button type="button"  className="btn btn-success pull-left" 
                        onClick={move2Program}>JOIN</button>

    return <button type="button"  className="btn btn-success pull-left" 
                        onClick={onSaveTable}>UPDATE</button>
  }
贾亚维尔

事实是,您必须在返回带有参数的元素的函数和返回带有道具的元素的函数之间找到一个小的分析。

考虑以下示例:

 //here is the difference, when you use function, function takes arguments as it is.

  const  UpdateIcons = (products) => { 

  // if you use this as component props will be like products props will return the products object again, here you have to use {products} destructuring or products.propducts["One"]

  //like this const  UpdateIcons = ({products}) => { 

    if((products["One"]  === "A") && (products["Two"] === "B") && (products["Three"] === "C") ) {
      return <p>Conditional</p>
    }
    return <p>Show Always</p>
}

   class MyIssue extends Component {
     render() {
       const { products } = this.props;
        return ( 
          <div>
           {UpdateIcons(products)}  
           {/*passing arguments here products will be {"One": "A", "Two": "B"}*/}

           <UpdateIcons products={products}   /> 
           {/* passing props , props will be same as products */}
      </div>)
      }
    }

    class App extends Component {
      constructor() {
        super();
            this.state = {
                products: {
                   "One": "A",
                   "Two": "B",
                  "Three": "C"
                }
            };
     }

     render() {
        return <MyIssue products={this.state.products} />
     }
   }

工作演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

为什么在Java字节码方法不是最经济的是使用的局部变量的数量?

来自分类Java

为什么BufferedInputStream将字段复制到局部变量而不是直接使用该字段

来自分类Java

为什么必须始终使用Java初始化局部变量(包括基元)?

来自分类Java

为什么增强的for循环的局部变量必须是局部的?

来自分类Java

为什么它不直接使用实例字段,而是将其分配给局部变量?

来自分类Java

为什么在case语句中变量不是局部变量?

来自分类Java

Java:为什么我不能在任何类中使用final来访问局部变量JPanel?

来自分类Dev

为什么在Node.js中执行SQL查询后不能使用局部变量?

来自分类Dev

为什么此条件(null ||!TryParse)会导致“使用未分配的局部变量”?

来自分类Java

为什么局部变量不允许使用volatile关键字?

来自分类Dev

为什么不能使用反射获得局部变量名称?

来自分类Dev

为什么C允许使用未初始化的局部变量?

来自分类Dev

为什么eclipse会说即使使用了局部变量也没有使用?

来自分类Dev

如何在其他功能烧瓶中使用局部变量?

来自分类Dev

能够在lambda中使用未捕获的局部变量的编译时特征有什么意义?

来自分类Dev

为什么使用* ngIf时模板局部变量在模板中不可用?

来自分类Dev

使用局部变量有什么好处?

来自分类Dev

在Rails API中使用局部变量或实例变量有什么区别?

来自分类Dev

为什么递归中的全局变量比局部变量使用更多的内存?

来自分类Dev

为什么在GNU C基本内联asm语句中不能使用局部变量?

来自分类Dev

观看未使用的局部变量是不可能的吗?为什么?

来自分类Dev

不使用局部变量时为什么会获得EXC BAD ACCESS?

来自分类Dev

为什么打字稿使用angular编译掉我的基本控制器的局部变量?

来自分类Dev

什么时候应该在方法中使用最终变量而不是局部变量

来自分类Dev

在组件中使用导入的 const 而不将其设置为局部变量

来自分类Dev

为什么在模块中使用实例变量而不是局部变量?

来自分类Dev

样式组件局部变量

来自分类Dev

为什么解释器调用变量ia局部变量

来自分类Dev

为什么不能在回调中使用局部变量?

Related 相关文章

  1. 1

    为什么在Java字节码方法不是最经济的是使用的局部变量的数量?

  2. 2

    为什么BufferedInputStream将字段复制到局部变量而不是直接使用该字段

  3. 3

    为什么必须始终使用Java初始化局部变量(包括基元)?

  4. 4

    为什么增强的for循环的局部变量必须是局部的?

  5. 5

    为什么它不直接使用实例字段,而是将其分配给局部变量?

  6. 6

    为什么在case语句中变量不是局部变量?

  7. 7

    Java:为什么我不能在任何类中使用final来访问局部变量JPanel?

  8. 8

    为什么在Node.js中执行SQL查询后不能使用局部变量?

  9. 9

    为什么此条件(null ||!TryParse)会导致“使用未分配的局部变量”?

  10. 10

    为什么局部变量不允许使用volatile关键字?

  11. 11

    为什么不能使用反射获得局部变量名称?

  12. 12

    为什么C允许使用未初始化的局部变量?

  13. 13

    为什么eclipse会说即使使用了局部变量也没有使用?

  14. 14

    如何在其他功能烧瓶中使用局部变量?

  15. 15

    能够在lambda中使用未捕获的局部变量的编译时特征有什么意义?

  16. 16

    为什么使用* ngIf时模板局部变量在模板中不可用?

  17. 17

    使用局部变量有什么好处?

  18. 18

    在Rails API中使用局部变量或实例变量有什么区别?

  19. 19

    为什么递归中的全局变量比局部变量使用更多的内存?

  20. 20

    为什么在GNU C基本内联asm语句中不能使用局部变量?

  21. 21

    观看未使用的局部变量是不可能的吗?为什么?

  22. 22

    不使用局部变量时为什么会获得EXC BAD ACCESS?

  23. 23

    为什么打字稿使用angular编译掉我的基本控制器的局部变量?

  24. 24

    什么时候应该在方法中使用最终变量而不是局部变量

  25. 25

    在组件中使用导入的 const 而不将其设置为局部变量

  26. 26

    为什么在模块中使用实例变量而不是局部变量?

  27. 27

    样式组件局部变量

  28. 28

    为什么解释器调用变量ia局部变量

  29. 29

    为什么不能在回调中使用局部变量?

热门标签

归档