小编mqk*_*lin的帖子

Symbol()和Symbol.for()之间的区别

我尝试用Symbol键创建对象并找到相应的值Symbol.for,但它不起作用:

const sym = Symbol("x");

let obj = {
  [sym]: "val"
}

console.log(obj[sym]); // "val"
console.log(obj[Symbol.for("x")]); // undefined, but expected "val"
Run Code Online (Sandbox Code Playgroud)

为什么?

ecmascript-6

4
推荐指数
1
解决办法
192
查看次数

在声明之前导出对象和类使它们未定义

我尝试从Mozilla Hacks(导出列表副标题)重复示例:

//export.js
export {detectCats, Kittydar};
function detectCats() {}
class Kittydar {}

//import.js
import {detectCats, Kittydar} from "./export.js";
console.log(detectCats); // function detectCats() {}
console.log(Kittydar); // undefined
Run Code Online (Sandbox Code Playgroud)

糟糕:Kittydar未定义(顺便说一句,问题与简单相同Object).

但是,如果我exportKittydar声明之后提出它是好的:

//export.js
class Kittydar {}
export {Kittydar};

//import.js
import {Kittydar} from "./export.js";
console.log(Kittydar); // function Kittydar() {_classCallCheck(this, Kittydar);}
Run Code Online (Sandbox Code Playgroud)

这篇文章中的拼写错误吗?

我把它与之结合起来babel并捆绑在一起browserify.然后我将输出包包含在通常的.html文件中(带<script>标签).

ecmascript-6 babeljs

4
推荐指数
1
解决办法
569
查看次数

更新没有父级之外的反应组件

如果没有父组件,我应该如何正确更新组件?

我找到了两种方法:

第一种方法

这里我通过改变组件的状态来更新组件:

var Hello = React.createClass({
  render: function() {
    if (!this.state) return null;
    return (
      <div>Hello {this.state.name}</div>
    );
  }
});


var component = ReactDOM.render(
  <Hello />,
  document.getElementById('container')
);
component.setState({name: "World"});

setTimeout(function(){
  component.setState({name: "StackOverFlow"});
}, 1000);
Run Code Online (Sandbox Code Playgroud)

第二种方法

这里我通过ReactDOM.render方法更新组件:

var Hello = React.createClass({
  render: function() {
    return (
      <div>Hello {this.props.name}</div>
    );
  }
});


ReactDOM.render(
  <Hello name="world"/>,
    document.getElementById('container')
);

setTimeout(function(){
  ReactDOM.render(
    <Hello name="StackOverFlow"/>,
      document.getElementById('container')
  );

}, 1000);
Run Code Online (Sandbox Code Playgroud)

那么哪种方法是正确的呢?或者也许这是第三种正确的方法?

reactjs

3
推荐指数
1
解决办法
6679
查看次数

猜猜自定义日期的时区名称

我知道我可以获得浏览器时区名称: moment.tz.guess()

我怎么能猜出自定义日期的时区?例如moment("2020-12-30T14:17:40+11:00").tz.guess()

timezone momentjs

2
推荐指数
1
解决办法
584
查看次数

标签 统计

ecmascript-6 ×2

babeljs ×1

momentjs ×1

reactjs ×1

timezone ×1