我们现在在使用反应方面遇到了一些问题,但它有点归结为我们如何使用反应的一部分.
我们应该如何显示/隐藏子组件?
这就是我们编码的方式(这只是我们组件的片段)......
_click: function() {
if ($('#add-here').is(':empty'))
React.render(<Child />, $('#add-here')[0]);
else
React.unmountComponentAtNode($('#add-here')[0]);
},
render: function() {
return(
<div>
<div onClick={this._click}>Parent - click me to add child</div>
<div id="add-here"></div>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
最近我一直在阅读这样的例子:它本来应该是这样的:
getInitialState: function () {
return { showChild: false };
},
_click: function() {
this.setState({showChild: !this.state.showChild});
},
render: function() {
return(
<div>
<div onClick={this._click}>Parent - click me to add child</div>
{this.state.showChild ? <Child /> : null}
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
我应该使用那个React.render()吗?它似乎停止了各种各样的事情,如shouldComponentUpdate级联到孩子和像e.stopPropagation...
在这里扩展我的问题(ruby/rails:扩展或包括其他模块),使用我现有的解决方案,确定我的模块是否包含在内的最佳方法是什么?
我现在所做的是我在每个模块上定义了实例方法,所以当它们被包含时,一个方法可用,然后我只是将一个catcher(method_missing())添加到父模块,这样我就可以捕获它们是否包含它们.我的解决方案代码如下:
module Features
FEATURES = [Running, Walking]
# include Features::Running
FEATURES.each do |feature|
include feature
end
module ClassMethods
# include Features::Running::ClassMethods
FEATURES.each do |feature|
include feature::ClassMethods
end
end
module InstanceMethods
def method_missing(meth)
# Catch feature checks that are not included in models to return false
if meth[-1] == '?' && meth.to_s =~ /can_(\w+)\z?/
false
else
# You *must* call super if you don't handle the method,
# otherwise you'll mess up Ruby's method lookup
super …Run Code Online (Sandbox Code Playgroud) 如果我只有一个基本形式,我还应该this.refs或只是一起去document.getElementById?
基本上我的意思是:
export default class ForgetPasswordComponent extends React.Component {
constructor(props) {
super(props);
this.handleSendEmail = this.handleSendEmail.bind(this);
}
handleSendEmail(e) {
e.preventDefault();
// this.refs.email.value
// document.getElementById('email').value
}
render() {
<form onSubmit={this.handleSendEmail}>
<input id="email" ref="email" type="text" />
<input type="submit" />
</form>
}
}
Run Code Online (Sandbox Code Playgroud)
使用一个而不是另一个有缺点吗?
有没有办法让instagram auth(登录)始终要求身份验证?当用户登录并已经授权应用程序时,会跳过此选项.
这将是像twitter use_authorize=true或谷歌的东西approval_prompt=force.
如何在全屏幕上访问webkitExitFullScreen移动设备(iPhone)Safari(webkit)功能.
在使用IFrame API视频的iPhone上总是全屏播放,但我之后无法通过JS访问不同的功能webkitExitFullScreen.
我看到这已经提交到论坛和YouTube API论坛中的团队了:
https://groups.google.com/d/msg/youtube-api-gdata/fygn23jMbdE/pNE57RDl1gEJ
和
https://groups.google.com/forum/#!msg/youtube-api-gdata/7ioV74oFX84/U8zQ7-Yl9w4J
我想问及跟进他们的问题,特别是最后一个问题,因为它已经是一年前了.但这些团体现已关闭,并说我应该在这里提交.有没有人知道这是否已经在API的某个地方实现过,我可能已经错过了它?或者也许如何联系团队并直接询问他们的进展或情况?
我们即将在 reactjs 中部署我们的站点,我们已经(重新)移动了一个 url,但将其合并到了我们的主页中,因此/[product]/menu我们将其合并到/[product]. 现在他们说我应该用 301 for 响应/[product]/menu并将其重定向到/[product],我该如何完成这个以及其他一些页面?
如何使用 react-router 设置 301 重定向?我在哪里设置哪些页面需要重定向到哪些其他页面?我现在有这样的设置:
app.get('*', (req, res) => {
// routes is our object of React routes defined above
match({ routes, location: req.url }, (err, redirectLocation, props) => {
console.log(redirectLocation);
if (err) { // something went badly wrong, so 500 with a message
res.status(500).send(err.message);
// HERE: HOW DO I USE THIS?
} else if (redirectLocation) { // we matched a ReactRouter redirect, so …Run Code Online (Sandbox Code Playgroud) javascript http-status-code-301 express reactjs react-router
我有这个代码,它将一个zip文件写入磁盘,将其读回,上传到s3,然后删除该文件:
compressed_file = some_temp_path
Zip::ZipOutputStream.open(compressed_file) do |zos|
some_file_list.each do |file|
zos.put_next_entry(file.some_title)
zos.print IO.read(file.path)
end
end # Write zip file
s3 = Aws::S3.new(S3_KEY, S3_SECRET)
bucket = Aws::S3::Bucket.create(s3, S3_BUCKET)
bucket.put("#{BUCKET_PATH}/archive.zip", IO.read(compressed_file), {}, 'authenticated-read')
File.delete(compressed_file)
Run Code Online (Sandbox Code Playgroud)
这段代码已经可以使用,但我想要的是不再创建zip文件,以节省一些步骤.我想知道是否有办法将zipfile数据直接导出到s3而不必先创建一个tmp文件,读回来然后删除它?
我正在尝试在卸载页面之前对服务器发帖,然后我按照这个并且它工作正常.我的问题是关于window.unload的$.员额被触发后它已卸载.我尝试使用注销链接并检查我的日志,我得到以下内容:
Started GET "/signout" for 127.0.0.1 at 2012-11-22 00:15:08 +0800
Processing by SessionsController#destroy as HTML
Redirected to http://localhost:3000/
Completed 302 Found in 1ms
Started GET "/" for 127.0.0.1 at 2012-11-22 00:15:08 +0800
Processing by HomeController#index as HTML
Rendered home/index.html.erb within layouts/application (0.4ms)
Rendered layouts/_messages.html.erb (0.1ms)
Completed 200 OK in 13ms (Views: 12.9ms)
Started POST "/unloading" for 127.0.0.1 at 2012-11-22 00:15:08 +0800
Processing by HomeController#unloading as */*
Parameters: {"p1"=>"1"}
WARNING: Can't verify CSRF token authenticity
Completed 500 …Run Code Online (Sandbox Code Playgroud) 如何process.env从节点传递或使用变量到reactjs?例如我有这个
const nodeEnv = process.env.NODE_ENV || 'development'
在我的开发中并且它有效(我认为因为它的开发而且我有一个后备'development'.
但是当我们将它推送到我们的登台服务器并设置NODE_ENV变量时,它只在第一次加载时起作用,但随后却没有.我想我确实得到了这个,因为起初它是由节点服务的,它可以访问服务器变量,但之后它将是反应服务页面(对吗?),它将无法访问服务器的东西.那么如何在没有硬编码的情况下获得反应的变量(因为我们最终会有一个不同的生产集)?
编辑.如果有差异,我们也使用webpack.
在我的RoR项目中,我正在使用CarrierWave + MiniMagick并部署到Heroku进行制作.
我在生产中遇到这个问题,有时图像处理缺少tmp文件.我收到此错误:
Errno::ENOENT: No such file or directory - /tmp/mini_magick20130319-2-3wq6l6.jpg
我有其他XUploader类可以工作,但这个特殊的有两个图像处理.最初我有两个独立的过程:
process :resizer
def resizer
resize_to_fit(model.jrac_image_width, model.jrac_image_height)
end
process :cropper
def cropper
manipulate! do |img|
img.crop("442x190+#{model.jrac_crop_x}+#{model.jrac_crop_y}")
img
end
end
Run Code Online (Sandbox Code Playgroud)
但它说我在:cropper说tmp文件不存在时出错了.我试图将代码更改为此,希望它只能在其上工作一次:
process :resize_and_crop
def resize_and_crop
manipulate! do |img|
img.resize("#{model.jrac_image_width}x#{model.jrac_image_height}") # resize_to_fit
img.crop("442x190+#{model.jrac_crop_x}+#{model.jrac_crop_y}") # cropper
img
end
end
Run Code Online (Sandbox Code Playgroud)
但不幸的是,仍然遇到同样的错误.
有谁知道问题出在哪里?我不知道它是用Heroku还是CarrierWave或ImageMagick?
编辑
我的Uploader课上也有这个代码
def cache_dir
"#{Rails.root}/tmp/uploads"
end
Run Code Online (Sandbox Code Playgroud)
至于这份文件.
image-manipulation ruby-on-rails imagemagick heroku carrierwave
javascript ×4
reactjs ×4
ruby ×2
amazon-s3 ×1
api ×1
carrierwave ×1
express ×1
heroku ×1
iframe ×1
imagemagick ×1
instagram ×1
ios ×1
iphone ×1
jquery ×1
module ×1
node.js ×1
oauth ×1
react-router ×1
rubyzip ×1
show-hide ×1
webpack ×1
youtube ×1
youtube-api ×1
zip ×1