Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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
Javascript 筛选组件列表_Javascript_Reactjs_Ecmascript 6_State - Fatal编程技术网

Javascript 筛选组件列表

Javascript 筛选组件列表,javascript,reactjs,ecmascript-6,state,Javascript,Reactjs,Ecmascript 6,State,我有这样的代码(jsx的东西): 让我的_组件=[{'id'}]; my_components.push({'name'}); ... my_components.push({'zip'}); my_components.push({'age'}); 我还有另一个类似的列表:hideComps={'zip','age'}。我需要获得另一个对象,如my_components,其中每个元素都属于my_components,但其数据字段不在hideComps中。这是可能的吗? 技术,这很简单,如果不

我有这样的代码(jsx的东西):

让我的_组件=[{'id'}];
my_components.push({'name'});
...
my_components.push({'zip'});
my_components.push({'age'});

我还有另一个类似的列表:hideComps={'zip','age'}。我需要获得另一个对象,如my_components,其中每个元素都属于my_components,但其数据字段不在hideComps中。这是可能的吗?

技术,这很简单,如果不认为这是一个坏的模式。 您不必像这样编写

dataField={'id'}
,这是不必要的。您可以只写
dataField=“id”

const hideComps=['zip','age'];
让我的_组件=[{'id'}];
my_components.push({'name'});
my_components.push({'zip'});
my_components.push({'age'});
const filtered_components=my_components.filter(item=>hideComps.indexOf(item.props.dataField)=-1);

创建组件时(无论是通过JSX还是通过React.createElement还是其他方式),您都会收到一个指向
React组件
的链接,该组件本质上是一个常见的JavaScript
对象(当然,如果您不使用
TypeScript
)你可以访问他们的<代码>道具。

技术上,如果不认为这是一个糟糕的模式,那是很简单的。 您不必像这样编写

dataField={'id'}
,这是不必要的。您可以只写
dataField=“id”

const hideComps=['zip','age'];
让我的_组件=[{'id'}];
my_components.push({'name'});
my_components.push({'zip'});
my_components.push({'age'});
const filtered_components=my_components.filter(item=>hideComps.indexOf(item.props.dataField)=-1);

创建组件时(无论是通过JSX还是通过React.createElement还是其他方式),您都会收到一个指向
React组件
的链接,该组件本质上是一个常见的JavaScript
对象(当然,如果您不使用
TypeScript
)您可以访问他们的
道具

难道您不能存储一个数据列表,并从中生成组件吗?问题是,除了数据字段之外,还有其他复杂的选项,它们之间可能会有很大的不同。也许我应该创建一个地图您不能存储一个数据列表,然后从那里生成组件?问题是除了数据字段之外,还有其他复杂的选项,它们之间可能会有很大的不同。也许我应该创建一个映射
let my_components = [<TCol dataField = {'id'} ... >{'id'}</TCol>];
    my_components.push(<TCol dataField = {'name'} ... >{'name'}</TCol>);
    ...
    my_components.push(<TCol dataField = {'zip'} ... >{'zip'}</TCol>);
    my_components.push(<TCol dataField = {'age'} ... >{'age'}</TCol>);