小编str*_*ser的帖子

将状态作为道具传给孩子是好的做法吗?

我发现自己在一个组件上聚合状态.通常我知道的节点我将重新渲染,因此变化可以传播,并且状态不是全部.最近,我发现自己将这个组件的状态作为道具传递给第一个使用JSX传播属性的孩子.为了绝对清楚,这就是我的意思:

var Child = React.createClass({
  handleClick: function(){
    this.props.owner.setState({
      count: this.props.count + 1,
    });
  },
  render: function(){
    return <div onClick={this.handleClick}>{this.props.count}</div>;
  }  
});

var Parent = React.createClass({
  getInitialState: function(){
    return {
      count: 0,
      owner: this
    };
  },
  render: function(){
    return <Child {...this.state}/>
  }
});
Run Code Online (Sandbox Code Playgroud)

它的工作原理(http://jsbin.com/xugurugebu/edit?html,js,output),你可以随时回到这个组件来了解最新情况并尽可能保持最小状态.

所以实际的问题是,如果这不是一个好的做法,为什么.

我现在可以考虑的缺点是,使用这种方法,当所有者状态发生变化时,每个子组件都可能会重新渲染,如果是这种情况,我认为上面的内容可以在小组件树上使用.

javascript reactjs

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

缺乏"int main(int argc,char*argv [])"的知识

我是一名物理学家,通常,我只想完成计算,这就是我真正需要的.不过我一直在用

int main(int argc, char* argv[])
Run Code Online (Sandbox Code Playgroud)

并且它非常令人高兴的是二进制文件在我没想到的级别变得灵活,即初始化变量

~$ ./program.exe a b c   (a, b and c are numbers in this case, not letters ok?)
Run Code Online (Sandbox Code Playgroud)

所以问题是

*如何在使用文件的情况下以这种方式(或其他)"解析"或"管道"事物?*

示例:假设"a.exe"给出了一组"XY"点(就像在电子表格上一样),我在"b.exe"上插入了什么.或者说我使用bash/awk脚本格式化"a.exe"的输出格式以将其绘制在gnuplot上.

-----------------------------------------

你好,我们又见面了.我试图这样做,但我仍然遇到问题.

为了看看我做错了什么,我写了最简单的程序

   #include <cstdio>
   #include <iostream>
   #include <cmath>

   using namespace std;

   int main(int argc, char* argv[]){

   for (int i = 0; i <= argc; i++)
     cout << "argv[" << i << "]= " << argv[i] << endl;  


   getchar();   
   return 0;
   }
Run Code Online (Sandbox Code Playgroud)

并制作了一个包含内容的文件(假设它是"test.dat")

 1 
 2 
 3 
 4
 5 
 6 …
Run Code Online (Sandbox Code Playgroud)

c++ bash parsing

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

bash在循环"〜$./ program> file.dat"时删除我的文件(gnuplot)

我在bash上做一些脚本用gnuplot绘制数据.但它不起作用.

我有一个程序将数据抛出到命令行.我在文件上收集数据,然后我循环这个过程以获得所需的结果.说我有这个脚本

 N = 10
 ./program.exe > data_$N.dat # Creating the data to be plotted
 for ((i = 0 ; i<1 ; i++)) do # Dummy loop to throw all together to gnuplot
  echo "set size square"
  echo "set xrange[-$N-1:$N+1]; set yrange[-$N-1:$N+1];"
  echo "plot '-' using 1:2"
  for((j = 0 ; j <= 9 ; j++)) do
   # Throwing the data to gnuplot
   echo "cat data_$N.dat" 
   # Updating the file and overwriting on it
   echo "cat data_$N.dat | xargs ./program.exe …
Run Code Online (Sandbox Code Playgroud)

bash gnuplot computation

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

标签 统计

bash ×2

c++ ×1

computation ×1

gnuplot ×1

javascript ×1

parsing ×1

reactjs ×1