小编ind*_*dex的帖子

在ReactJS中显示/隐藏组件

我们现在在使用反应方面遇到了一些问题,但它有点归结为我们如何使用反应的一部分.

我们应该如何显示/隐藏子组件?

这就是我们编码的方式(这只是我们组件的片段)......

_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...

show-hide reactjs

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

ruby/rails:如何确定是否包含模块?

在这里扩展我的问题(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)

ruby module ruby-on-rails

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

reactjs this.refs vs document.getElementById

如果我只有一个基本形式,我还应该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)

使用一个而不是另一个有缺点吗?

javascript reactjs

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

Instagram API:在身份验证期间强制提​​示

有没有办法让instagram auth(登录)始终要求身份验证?当用户登录并已经授权应用程序时,会跳过此选项.

这将是像twitter use_authorize=true或谷歌的东西approval_prompt=force.

api oauth instagram

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

IOS上的YouTube IFrame API和webkitExitFullScreen [重访]

如何在全屏幕上访问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的某个地方实现过,我可能已经错过了它?或者也许如何联系团队并直接询问他们的进展或情况?

youtube iphone iframe youtube-api ios

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

react-router 如何使用 redirectLocation 或 301 或 302 状态

我们即将在 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

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

Rubyzip:直接将zip文件导出到S3而不将tmpfile写入磁盘?

我有这个代码,它将一个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文件,读回来然后删除它?

ruby zip ruby-on-rails amazon-s3 rubyzip

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

Window.unload在卸载后触发post

我正在尝试在卸载页面之前对服务器发帖,然后我按照这个并且它工作正常.我的问题是关于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)

javascript jquery ruby-on-rails

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

从节点传递或使用process.env变量到reactjs

如何process.env从节点传递或使用变量到reactjs?例如我有这个

const nodeEnv = process.env.NODE_ENV || 'development'

在我的开发中并且它有效(我认为因为它的开发而且我有一个后备'development'.

但是当我们将它推送到我们的登台服务器并设置NODE_ENV变量时,它只在第一次加载时起作用,但随后却没有.我想我确实得到了这个,因为起初它是由节点服务的,它可以访问服务器变量,但之后它将是反应服务页面(对吗?),它将无法访问服务器的东西.那么如何在没有硬编码的情况下获得反应的变量(因为我们最终会有一个不同的生产集)?

编辑.如果有差异,我们也使用webpack.

javascript configuration node.js reactjs webpack

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

Heroku,CarrierWave,MiniMagick:缺少随机tmp文件

在我的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

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