小编noo*_*bie的帖子

为什么componentDidUpdate()会创建一个无限循环?

我存储url了一个tokenin statein Parent组件.我传递的urltokenprops从父Component到子Component.但是,如果父项中存在某些事件Component,setState()则会触发并因此执行componentDidUpdate()子项Component.
由于componentDidUpdate()导致无限循环(因为它触发子组件内的setState()),我已经放置了条件.但这并不能防止错误.
子组件即DisplayRevenue如下:

import React, { Component } from 'react';
import '../App.css';
import ListData from './listdata.js'
var axios = require('axios');

class DisplayRevenue extends Component {

  constructor(props){
    super(props);
    this.state = { data:[], url:"" }
  console.log(this.props.url);
  }

  componentWillMount() {
    this.loadRevenue(this.props.url, this.props.token);
 }

  componentDidUpdate(){    //creates infinite loop
  //  console.log(this.props.url);
    this.loadRevenue(this.props.url, this.props.token); …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

为什么这个NULL变量真实?

我知道nullfalsy.那它为什么表现得好像呢truthy

var status = null;

console.log('status:', status);

if(!!status) {
  console.log('status is truthy');   // it should not print
}

if(!!null) {
  console.log('null is truthy');   // it should not print
}
Run Code Online (Sandbox Code Playgroud)

javascript browser

9
推荐指数
1
解决办法
201
查看次数

烧瓶正在容器内工作但不是当我向前移动时

我正在尝试:我正在尝试使用docker运行一个简单的烧瓶应用程序.使用网站作为参考.

我的dockerfile:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY ./app /app
WORKDIR /app
RUN pip install -r "requirements.txt"
ENTRYPOINT ["python"]
CMD ["app.py"]
Run Code Online (Sandbox Code Playgroud)

Python文件:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(port=5000, debug=True)
Run Code Online (Sandbox Code Playgroud)

requirements.txt:

Flask==1.0.2
Run Code Online (Sandbox Code Playgroud)

我在做什么:

  • 使用建筑图像 docker build -t simple-flask2 .
  • 然后,使用启动容器 docker run -p 5000:5000 simple-flask2
  • 当我localhost:5000什么都没有出现的时候.
  • 所以,我打开容器的终端使用docker exec -it 3be bash&然后做了curl localhost:5000.令我惊讶的是它在容器内部工作 …

python flask docker

5
推荐指数
2
解决办法
668
查看次数

如何在不使用 cron 作业的情况下在谷歌云中安排 python 脚本?

我有两个 python 脚本在我的本地环境中每天运行一次。一种是获取数据,另一种是对其进行格式化。

现在我想将这些脚本部署到 Google 的云环境并每天运行一次/两次。

我可以使用 Google Cloud Function 做到这一点还是需要 App Engine?

为什么没有 cron 作业:因为我不希望我的系统/VM 运行一整天(不使用时)。

我可以使用 Cloud Composer 来实现吗?

google-app-engine google-cloud-platform airflow google-cloud-functions

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

如何从 Axios 拦截器返回登录页面?

我正在使用axios来发出 API 请求。我已经实现了一个集中式拦截器,所有组件都使用它来获取数据。
所有组件都使用此拦截器包含token在请求标头中,然后发送所有 api 请求。
现在,如果响应错误,我想重定向到登录页面。为此,我尝试在Redux storename中设置一个标志isTokenValid。想法是我将设置 asubscriberstoreinApp.jsindex.js,一旦标志设置为false我将重定向用户到登录页面。
问题是我无法访问通过使用传递的任何mapDispatchToProps函数this.props.invalidToken()

  • 如何解决这个问题?
  • 有没有更好的方法

reactjs react-redux axios

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

无法读取undefined的属性'function'

我试图从我的React应用程序中的另一个函数调用一个函数.但我保留这个错误:Error in login TypeError: Cannot read property 'loadDashboard' of undefined.我搜索了类似的案例我能找到的是(1)我必须使用this关键字(2)我必须提到里面的功能constructor.我做了两个然后为什么我一直得到错误?
我的代码:

import React, { Component } from 'react';
import '../App.css';
var axios = require('axios');

class Login extends Component {
  constructor(){
    super();
    this.loadDashboard = this.loadDashboard.bind(this);
  }

  loadDashboard(token){
    axios({
      method:'get',
      url:'http://localhost:3000/api/dashboard',
      data: {
        Authorization: token
      },
      responseType:'stream'
    })
     .then(function (response) {
       console.log(response);
     })
     .catch(function (error) {
       console.log("Error in loading Dashboard "+error);
     });
  }

  handleOnSubmit = () => {
     console.log("submittwed");
     axios({
       method:'post',
       url:'http://localhost:3000/authenticate',
       data: {
         email: 'test@mail.com', …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

如何将数组数组转换为 Python 3 中的集合?

我有什么作为输入:

list: [[2, 4], [2, 6], [2, 8]]
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

set: 2,4,6,8
Run Code Online (Sandbox Code Playgroud)

我目前在做什么(不工作):

def convert(input_list):
    all_nums = set([arr[0], arr[1]] for arr in input_list)
    return all_nums
Run Code Online (Sandbox Code Playgroud)

我知道我可以手动遍历父数组并将子数组的内容添加到set这样的:

def convert(input_list):
    all_nums = set()
    for inner_list in input_list:
        all_nums.add(inner_list[0])
        all_nums.add(inner_list[1])
    return all_nums
Run Code Online (Sandbox Code Playgroud)
  • 如何以pythonic的方式做到一点?
  • 在第二种方法中,我可以做类似的事情all_nums.add(inner_list[0], inner_list[1])吗?

python python-3.x

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