我一直在玩React,并有以下时间组件,只是渲染Date.now()到屏幕:
import React, { Component } from 'react';
class TimeComponent extends Component {
constructor(props){
super(props);
this.state = { time: Date.now() };
}
render(){
return(
<div> { this.state.time } </div>
);
}
componentDidMount() {
console.log("TimeComponent Mounted...")
}
}
export default TimeComponent;
Run Code Online (Sandbox Code Playgroud)
让这个组件每秒更新以从React角度重新绘制时间的最佳方法是什么?
我正在尝试创建一个基于ajax的评论表单,该表单将在提交时更新我的评论列表.很基本的东西.
我有一个部分comments/_single.html.haml,它有一个<li>带有基本注释信息的标签,这里是我的comments/create.js.erb文件(实际上这些是三个不同的测试文件合并为一个,以显示我的问题是什么):
$('#comments ul.comments').append("<%= render :partial => 'comments/single', :locals => { :c => @comment } %>");
$('#comments ul.comments').append("<%= render :partial => 'comments/foobar' %>");
$('#comments ul.comments').append("foobar");
alert('foobar');
Run Code Online (Sandbox Code Playgroud)
内容comments/_foobar.html.haml只是foobar,里面没有html.我的问题是前两行不起作用.我的开发服务器控制台中没有错误,对象检查器表示注释代码已正确返回但它们未添加到我的注释列表中.第三行工作正常,第四行工作正常.看起来使用时存在一些问题render.
我在轨道问题中有以下代码:
module DestroyExclusion
extend ActiveSupport::Concern
def self.destroy_exclusion_on_category_deletion(academy_id,product_id,category_id)
if(category_id == nil)
if exists?(:academy_id => academy_id, :product_id => product_id)
where(:academy_id => academy_id, :product_id => product_id).first.destroy
end
elsif(product_id == nil)
if exists?(:academy_id => academy_id, :category_id => category_id)
where(:academy_id => academy_id, :category_id => category_id).first.destroy
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
在这些类中使用:
class ExcludeProduct < ActiveRecord::Base
include DestroyExclusion
belongs_to :academy
belongs_to :product
end
class ExcludeCategory < ActiveRecord::Base
include DestroyExclusion
belongs_to :academy
belongs_to :category
end
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试调用该方法时,我得到一个未定义的方法错误.任何想法为什么会这样?这是我调用方法的示例:
def destroy_exclusions
category_record = Category.find(self.category_id)
if !self.product_id.blank?
academies = category_record.parent_academies
academies.each do …Run Code Online (Sandbox Code Playgroud) 我有以下redux-form组件,我想使用isSubmitting选择器来禁用提交按钮.但是,在表单提交时,它永远不会返回true
我的mapStateToProps功能:
const mapStateToProps = (state, props) => {
const firstTemplate = _.first(props.templates.toList().toJS());
const course = props.courses.getIn([0, 'id']);
let values = { submitting: isSubmitting('CreateNewAssignmentForm')(state) };
if (firstTemplate === undefined) {
return values;
}
if (firstTemplate) {
values = {
course,
template: firstTemplate,
submitting: isSubmitting('CreateNewAssignmentForm')(state),
initialValues: {
template: firstTemplate.id,
wordCount: firstTemplate.essay_wordcount,
timezone: momentTimezone.tz.guess(),
label: 'TRANSPARENT',
},
};
}
return values;
};
export default connect(mapStateToProps)(
reduxForm({
form: 'CreateNewAssignmentForm',
destroyOnUnmount: false,
shouldAsyncValidate,
shouldValidate,
})(CreateNewAssignmentForm),
);
Run Code Online (Sandbox Code Playgroud)
我的render()功能的部分片段:
render() …Run Code Online (Sandbox Code Playgroud) 我正在阅读alchemy-API文档:
http://www.alchemyapi.com/api/image-tagging/image.html
他们说图像必须是URI编码的...究竟是什么意思?
这是否意味着将图像转换为base64字符串,然后将其传递给请求?
我试过了,但收到了http 414错误 - 请求URI太大了.
这是我的代码,其中提出了请求:
@IBAction func analyzeImage(sender: UIButton) {
var imageData = UIImagePNGRepresentation(mainImage.image)
let base64ImageString = imageData.base64EncodedStringWithOptions(.allZeros)
let requestString = ENDPOINT+"?apikey="+API_KEY+"&image="+base64ImageString+"&outputMode=json"
let url = NSURL(string: requestString)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
task.resume()
}
Run Code Online (Sandbox Code Playgroud)
编辑:我考虑到Dijkgraaf建议使用POST请求而不是GET来解决URI长度问题.我正在使用Alamofire库来执行此操作.这是我的代码:
@IBAction func analyzeImage(sender: UIButton) {
var imageData = UIImagePNGRepresentation(mainImage.image)
let base64ImageString = imageData.base64EncodedStringWithOptions(.allZeros)
let params = [
"apikey" : API_KEY,
"image" : base64ImageString,
"outputMode" : "json"]
var manager = Manager.sharedInstance
//Passing all the …Run Code Online (Sandbox Code Playgroud) 我有一个使用以下rake jobs:work命令的部署对象:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: staging-delayed-job-deployment
namespace: staging
spec:
template:
metadata:
labels:
env: staging
name: delayed-job
spec:
containers:
- name: job
image: gcr.io/ej-gc-dev/redacted:<%= ENV['IMAGE_TAG'] %>
command: ["/bin/bash", "-l", "-c"]
args: ["RAILS_ENV=production bundle exec rake jobs:work"]
Run Code Online (Sandbox Code Playgroud)
当我跑步时kubectl logs我什么都没得到.如何rake jobs:work显示输出kubectl logs?即如果直接在pod中运行,它会提供如下输出:
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Starting job worker
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job UpdateHubspotPersonaJob (id=67) RUNNING
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job UpdateHubspotPersonaJob (id=67) COMPLETED after 0.4903
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job Mailerjack.registration_created_user_welcome (id=68) RUNNING
[Worker(host:staging-deployment-cc7dc559f-bswvr pid:2381)] Job Mailerjack.registration_created_user_welcome (id=68) …Run Code Online (Sandbox Code Playgroud) 我似乎无法从Apple的GCD文档中找出dispatch_queue_t中的"t"代表什么.
起初我以为它是"线程",但在阅读这个问题后,我认为这意味着typedef.如果是这种情况,那么dispatch_queue_t的typedef是什么?
我试图在设计AJAX登录表单上接收登录失败事件.我已经覆盖了设计会话控制器,如下所示:
class SessionsController < Devise::SessionsController
def create
resource = warden.authenticate!(:scope => resource_name, :recall => '#{controller_path}#failure')
sign_in_and_redirect(resource_name, resource)
end
def sign_in_and_redirect(resource_or_scope, resource=nil)
scope = Devise::Mapping.find_scope!(resource_or_scope)
resource ||= resource_or_scope
sign_in(scope, resource) unless warden.user(scope) == resource
return render :json => {:success => true}
end
def failure
return render :json => {:success => false, :errors => ["Login failed."]}
end
end
Run Code Online (Sandbox Code Playgroud)
失败的json从未真正触发401未经授权的响应.sign_in_and_redirect上的js工作正常.
这是我的js部分,我希望显示一个警报:
$(document).on('click', '#login-btn', function(){
$("#login-modal").toggleClass("is-active");
$("form#login_user_form").bind("ajax:success", function(e, data, status, xhr) {
if (data.success) {
$("#login-modal").toggleClass("is-active");
} else {
return alert('failure!'); // this never …Run Code Online (Sandbox Code Playgroud) 我有以下代码,在嵌套网格中有一个纸张组件:
import React from 'react';
import logo from './logo.svg';
import './App.css';
import {
Container,
AppBar,
Toolbar,
IconButton,
Typography,
Button,
Paper,
Grid,
Avatar,
} from '@material-ui/core';
import MenuIcon from '@material-ui/icons/Menu';
function App() {
return (
<div className="App">
<AppBar position="static">
<Toolbar>
<IconButton edge="start" color="inherit" aria-label="menu">
<MenuIcon />
</IconButton>
<Typography variant="h6">AwesomeApp</Typography>
<Button color="inherit">Login</Button>
</Toolbar>
</AppBar>
<Container style={{marginTop: '1em'}}>
<Grid container spacing={2}>
<Grid item container alignItems="center" xs={4}>
<Paper>
<Grid item xs={6} alignItems="center">
<Avatar>JD</Avatar>
</Grid>
<Grid item xs={6} alignItems="center">
John Doe
</Grid>
</Paper>
</Grid>
<Grid …Run Code Online (Sandbox Code Playgroud) javascript ×2
reactjs ×2
ajax ×1
alchemyapi ×1
devise ×1
http ×1
ios ×1
jquery ×1
kubernetes ×1
material-ui ×1
redux-form ×1
ruby ×1
swift ×1