什么':'在React.js意味着什么?

时间:2017-06-21 14:19:24

标签: javascript syntax

令我感到困惑的是=似乎像其他语言一样为变量赋值,但:做了什么?

我觉得它正在为变量分配函数或其他东西。

究竟是做什么的?

以下是一个例子:

import React from 'react';

const MyComponents = {
  DatePicker: function DatePicker(props) {
    return <div>Imagine a {props.color} datepicker here.</div>;
  }
}

function BlueDatePicker() {
  return <MyComponents.DatePicker color="blue" />;
}

冒号位于DatePicker

之后

3 个答案:

答案 0 :(得分:0)

这不是一个react.js,因为它是一个JSON的东西。 JSON是JavaScript Object Notation。 :{}中使用MyComponents为对象指定属性。 MyComponents.DatePicker成为对象,您可以MyComponents访问属性。

答案 1 :(得分:0)

这不是React特有的。这只是说DatePicker是一个对象而const food = { apple: 'Apple', banana: 'Banana' }; 是其中一个值。

与定义普通对象没什么不同:

df:
country year    perc    data1   data2   data3
IN      2015    hjk     75      81      96
US      2015    KTM     100     289     632

Results:                
country year    perc    TransposedColumn    Value   
IN      2015    hjk     data1               75  
IN      2015    hjk     data2               81  
IN      2015    hjk     data3               96  
US      2015    KTM     data1               100 
US      2015    KTM     data2               289 
US      2015    KTM     data3               632 

答案 2 :(得分:0)

我不知道反应,但我很确定这只是用于定义对象中方法的标准javascript语法。请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_methods

  var clicked = false;

  var $mainMenuButton = document.getElementsByClassName('desktopmenubutton');

if (clicked === false) {
     for (h = 0; h < $mainMenuButton.length; h+=1) {
      $mainMenuButton[h].addEventListener('click', function (e){
        e.currentTarget.style.background = "black";
        clicked = true;  // change clicked state to true
      });    
   }
} else {
    for (i = 0; i < $mainMenuButton.length; i+=1) {
      $mainMenuButton[i].addEventListener('click', function (e){
        e.currentTarget.style.background = "red";
        clicked = false;
      });
    } 
}
相关问题