Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 将组件作为道具传递是否被视为不良行为?_Reactjs - Fatal编程技术网

Reactjs 将组件作为道具传递是否被视为不良行为?

Reactjs 将组件作为道具传递是否被视为不良行为?,reactjs,Reactjs,正如标题所说:下面的伪代码被认为是不好的吗 外部变量=(道具)=>{ var ComponentA=道具a; var ComponentB=props.b; //做些花哨的事 // ... 返回( ); } 例如:我使用它通过传递一个组件以不同的方式显示树数据,该组件将呈现单个节点的数据 编辑 按照要求,我将尽量把我的问题说得更清楚一点。 有一个组件有一些逻辑和一些标记,每次使用该组件时都是相同的。但是,该标记中有两个(或更多)位置应该是可重放的 画一幅显示整个月份的日历。有一个组件可以呈现

正如标题所说:下面的伪代码被认为是不好的吗


外部变量=(道具)=>{
var ComponentA=道具a;
var ComponentB=props.b;
//做些花哨的事
// ...
返回(
);
}
例如:我使用它通过传递一个组件以不同的方式显示树数据,该组件将呈现单个节点的数据

编辑

按照要求,我将尽量把我的问题说得更清楚一点。 有一个组件有一些逻辑和一些标记,每次使用该组件时都是相同的。但是,该标记中有两个(或更多)位置应该是可重放的

画一幅显示整个月份的日历。有一个组件可以呈现单个日期,还有一个组件可以呈现工作日(在顶部的栏中)。 您希望在多个位置重用该日历,但每次都需要为日期/工作日组件使用不同的标记

实现这一目标的一个方法是:



所以,我发现这是可行的。但我不确定这是否真的不好。

只要数据只朝一个方向流动,一般来说就可以了。你的例子有点做作,所以很难看出你想要解决的是什么一般问题,但我认为你实际上在寻找的是高阶组件


感谢您的建议;虽然我无法在您链接的特定页面中找到此场景,但我在该页面的一个相关文档中找到了它:在您的编辑中,甚至有一个用于此的proptype,您删除了实际帮助我的链接。关于hocs:使用
而不是
var MyTree=withTree(MyNode)不是更直观吗?好的,再次浏览了proptypes文档,我发现我对“node”proptypes的解释有误。但是有“React.PropTypes.element”和文档状态“React元素”,所以我想我很好吧?