我存储url了一个tokenin statein Parent组件.我传递的url和token为props从父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) 我知道null是falsy.那它为什么表现得好像呢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)
我正在尝试:我正在尝试使用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-flask2localhost:5000什么都没有出现的时候.docker exec -it 3be bash&然后做了curl localhost:5000.令我惊讶的是它在容器内部工作 …我有两个 python 脚本在我的本地环境中每天运行一次。一种是获取数据,另一种是对其进行格式化。
现在我想将这些脚本部署到 Google 的云环境并每天运行一次/两次。
我可以使用 Google Cloud Function 做到这一点还是需要 App Engine?
为什么没有 cron 作业:因为我不希望我的系统/VM 运行一整天(不使用时)。
我可以使用 Cloud Composer 来实现吗?
google-app-engine google-cloud-platform airflow google-cloud-functions
我正在使用axios来发出 API 请求。我已经实现了一个集中式拦截器,所有组件都使用它来获取数据。
所有组件都使用此拦截器包含token在请求标头中,然后发送所有 api 请求。
现在,如果响应错误,我想重定向到登录页面。为此,我尝试在Redux storename中设置一个标志isTokenValid。想法是我将设置 asubscriber到storeinApp.js或index.js,一旦标志设置为false我将重定向用户到登录页面。
问题是我无法访问通过使用传递的任何mapDispatchToProps函数this.props.invalidToken()。
我试图从我的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) 我有什么作为输入:
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)
all_nums.add(inner_list[0], inner_list[1])吗?javascript ×3
reactjs ×3
ecmascript-6 ×2
python ×2
airflow ×1
axios ×1
browser ×1
docker ×1
flask ×1
python-3.x ×1
react-redux ×1