小编ska*_*v85的帖子

React中的状态和道具有什么区别?

我正在观看关于React的Pluralsight课程,导师说道具不应该改变.我现在正在阅读一篇关于道具与状态的文章(uberVU/react-guide),它说

道具和状态更改都会触发渲染更新.

在文章的后面它说:

道具(属性的简称)是组件的配置,如果可以的话,它的选项.他们是从上面收到的,不可改变的.

  • 道具可以改变,但它们应该是不可改变的?
  • 什么时候应该使用道具?什么时候应该使用状态?
  • 如果你有React组件需要的数据,它应该通过道具或React组件中的设置通过getInitialState吗?

javascript reactjs

493
推荐指数
11
解决办法
17万
查看次数

是否可以访问window.confirm()?

本机浏览器模式是window.confirm,,window.alertwindow.prompt可访问,还是实现自定义更好?

javascript accessibility

10
推荐指数
2
解决办法
293
查看次数

为什么要对Authorization标头进行base64编码?

Twitter的API要求发送Authorization标头,该标头是与API密钥连接的API密钥的base64编码.在Node中,我使用:

var base64 = new Buffer(apiKey + ':' + apiSecret).toString('base64');
Run Code Online (Sandbox Code Playgroud)

发送的标头变为:

Authorization: 'Basic ' + base64
Run Code Online (Sandbox Code Playgroud)

base64编码字符串"apiKeyHere:apiSecretHere"有什么意义?为什么不接受包含原始api凭证的Authorization标头?

这个问题类似于base 64编码的目的是什么以及它在HTTP基本身份验证中使用的原因?但投票的答案并没有完全回答我的问题.Twitter的api密钥和api密钥已经是HTTP兼容的字符.他们看起来像这样(这些不是真的):

消费者密钥(API密钥)8dme3utVQfOhlPk5BUG9XbFxR

消费者秘密(API Secret)QFZXoC7MP72JZtGMBNpjLGI4Vl1xr1q9dyPLp3u7jGtkESpbLm

那么为什么base64会编码呢?此外,该帖子指出"编码的目的是将可能在用户名或密码中的非HTTP兼容字符编码为与HTTP兼容的字符." 用户名和密码不是HTTP兼容字符吗?

base64 oauth oauth-2.0 twitter-oauth bearer-token

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

Laravel Eloquent ORM关系命名约定

在Eloquent中定义反向关系时,是否必须将动态属性命名为与相关模型相同?

class Book extends Eloquent {

    public function author()
    {
        return $this->belongsTo('Author');
    }

}

$books = Book::all()
foreach ($books as $book) {
    echo $book->author->firstname;
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我是否必须调用此方法作者,还是可以将其命名为其他内容?我试图将其命名为其他东西(只是出于好奇),但它然后返回null,因此错误"试图获取非对象的属性".

编辑:我通过将外键传递给belongsTo来实现它,如下所示:

class Book扩展了Eloquent {

    public function daauthor()
    {
        return $this->belongsTo('Author', 'author_id');
    }

}

$book = Book::find(55);
dd($book->daauthor);
Run Code Online (Sandbox Code Playgroud)

有人可以解释原因吗?

php laravel eloquent

6
推荐指数
1
解决办法
1690
查看次数

我应该在哪里把我的CSRF令牌放在我的Ember应用程序中?

我有一个csrf令牌转储到窗口上的JS变量中.我有一个表单从控制器发出AJAX请求(没有Ember数据).在我的请求中,我需要传递csrf令牌.将此令牌放入Ember的推荐位置在哪里?现在我正在窗外抓住它但我意识到这对可测试性有害.我的第一个想法是将它注册到容器中.我对Ember很新,所以任何反馈都会非常感激!

javascript ember.js

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

如何防止一个sinon间谍调用被监视的方法?

我写了一个简单的测试,我使用Sinon.js监视$ .ajax.但是,我在终端上看到"WARN [web-server]:404:/ people".它被监视时为什么要调用$ .ajax?

var people = {
    findAll: function() {
        return $.ajax({ url: '/people' })
    }
};
var spy = sinon.spy($, 'ajax');
people.findAll();
$.ajax.restore();
Run Code Online (Sandbox Code Playgroud)

javascript sinon

0
推荐指数
1
解决办法
874
查看次数