React 16.3.0已经发布,Context API不再是实验特性。Dan Abramov (Redux的创造者)对此写了一篇很好的评论,但当时Context还只是一个实验性功能。

我的问题是,在你的观点/经验中,我什么时候应该使用React Context而不是React Redux,反之亦然?

当我试图访问react组件中的存储时,@connect工作得很好。但我该如何在其他代码中访问它呢。例如:让我们说我想使用授权令牌来创建我的axios实例,可以在我的应用程序中全局使用,实现这一点的最佳方法是什么?

这是我的api。js

// tooling modules
import axios from 'axios'

// configuration
const api = axios.create()
api.defaults.baseURL = 'http://localhost:5001/api/v1'
api.defaults.headers.common['Authorization'] = 'AUTH_TOKEN' // need the token here
api.defaults.headers.post['Content-Type'] = 'application/json'

export default api

现在我想从我的商店访问一个数据点,这是什么样子,如果我试图在一个react组件中使用@connect获取它

// connect to store
@connect((store) => {
  return {
    auth: store.auth
  }
})
export default class App extends Component {
  componentWillMount() {
    // this is how I would get it in my react component
    console.log(this.props.auth.tokens.authorization_token) 
  }
  render() {...}
}

有什么见解或工作流模式吗?

我可以不用else来写if else吗?

var x=1;

x==2 ? dosomething() : doNothingButContinueCode();   

我注意到,把null的其他工作(但我不知道为什么或如果这是一个好主意)。

编辑:你们中的一些人似乎很困惑,为什么我要费心去尝试这个。放心,这纯粹是出于好奇。我喜欢摆弄JavaScript。

我正在学习使用Rails进行开发,并发现了zsh的强大功能。但是,对于其他一些任务,我希望使用普通bash。

尽管它们是相同的,但在某些情况下,我只是对bash的布局感到满意。

我如何来回切换,或打开和关闭zsh ?

我正在收集网站列表上的统计数据,为了简单起见,我正在使用请求。这是我的代码:

data=[]
websites=['http://google.com', 'http://bbc.co.uk']
for w in websites:
    r= requests.get(w, verify=False)
    data.append( (r.url, len(r.content), r.elapsed.total_seconds(), str([(l.status_code, l.url) for l in r.history]), str(r.headers.items()), str(r.cookies.items())) )
 

现在,我想要请求。10秒后进入超时,这样循环就不会卡住。

这个问题以前也很有趣,但没有一个答案是干净的。

我听说可能不使用请求是一个好主意,但我应该如何得到请求提供的好东西(元组中的那些)。

对于所有默认输入,您填写的文本从左侧开始。怎么让它从右边开始?

是否有机会检测用户为文件元素类型的HTML输入所做的每个文件选择?

这个问题以前被问过很多次,但是如果用户再次选择相同的文件,通常建议的onchange事件不会触发。

如何阅读,如果一个复选框被选中在PHP?

确定STL映射是否包含给定键的值的最佳方法是什么?

#include <map>

using namespace std;

struct Bar
{
    int i;
};

int main()
{
    map<int, Bar> m;
    Bar b = {0};
    Bar b1 = {1};

    m[0] = b;
    m[1] = b1;

    //Bar b2 = m[2];
    map<int, Bar>::iterator iter = m.find(2);
    Bar b3 = iter->second;

}

在调试器中检查它,iter看起来只是垃圾数据。

如果我取消注释这一行:

Bar b2 = m[2]

调试器显示b2是{i = 0}。(我猜这意味着使用一个未定义的索引将返回一个结构与所有空/未初始化的值?)

这两种方法都不是很好。我真正想要的是这样一个界面:

bool getValue(int key, Bar& out)
{
    if (map contains value for key)
    {
        out = map[key];
        return true;
    }
    return false;
}

是否存在类似的情况?

我想知道是否有人可以给出一个“最佳实践”的回应,使用空白HTML表单动作发布回当前页面。

有一个帖子问一个空白的HTML表单动作在这里做什么,一些像这样的页面认为它是好的,但我想知道人们是怎么想的。