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 Reactjs,使用不同的样式设置数组的每个元素的样式_Javascript_Reactjs - Fatal编程技术网

Javascript Reactjs,使用不同的样式设置数组的每个元素的样式

Javascript Reactjs,使用不同的样式设置数组的每个元素的样式,javascript,reactjs,Javascript,Reactjs,我想用一些元素创建一个数组,然后(用.forEach或.map)迭代它。 但是每个数组元素必须有不同的样式。例如,我有一个这样的数组: ["johnny red", "Stephanie blue", "Hans green", "Fifty Shades Of grey :d"] 另外,我希望在另一个组件中重用一些数组的单个元素。 我该怎么做 (假设每个元素中的最后一个单词是单独的样式,例如背景色或颜色) 你能帮我吗? 请给我一个建议,我会怎么做 你的意思是这样的?下面是代码段,下面是co

我想用一些元素创建一个数组,然后(用.forEach或.map)迭代它。 但是每个数组元素必须有不同的样式。例如,我有一个这样的数组:

["johnny red", "Stephanie blue", "Hans green", "Fifty Shades Of grey :d"] 
另外,我希望在另一个组件中重用一些数组的单个元素。 我该怎么做

(假设每个元素中的最后一个单词是单独的样式,例如背景色或颜色)

你能帮我吗?
请给我一个建议,我会怎么做

你的意思是这样的?下面是代码段,下面是codepen示例:

另外,您是否考虑过将样式化组件与react合并?它可以帮助这个项目

{children.map(元素=>{
返回(
)
})}
这来自另一个项目:

          import * as React from "react";
          import { IAddressListProps } from '../../detailPage/components/interfaces/IAddressListProps';
          import { config } from "../../config";

          export class PrintAddressList extends React.Component<IAddressListProps, {}>{
            constructor(props: IAddressListProps) {
              super(props);
            }
            private createAddressCard = () => {
              let parent = [];
              this.props.items.map((address) => {
                parent.push(<div style={{ padding: '10px', border: '1px solid #ccc', margin: '5px' }}>
                  <label>{config.colNames.addressList.clmnAddressType}: </label>
                  <label>{address.Adressart}</label><br />
                  <label>{config.colNames.addressList.clmnCompanyName}: </label>
                  <label>{address.Firma}</label><br />
                  <label>{config.colNames.addressList.clmnPlaceName}: </label>
                  <label>{address.Ort}</label><br />
                  <label>{config.colNames.addressList.clmnZipCode}: </label>
                  <label>{address.PLZ}</label><br />
                  <label>{config.colNames.addressList.clmnTelephone}: </label>
                  <label>{address.Telefon}</label><br />
                </div>);
              });
              return parent;
            }

            public render(): React.ReactElement<IAddressListProps> {
              return (
                <div>
                  {this.createAddressCard()}
                </div>
              );
            }
          }
import*as React from“React”;
从“../../detailPage/components/interfaces/IAddressListProps”导入{IAddressListProps};
从“../../config”导入{config};
导出类PrintAddressList扩展React.Component{
构造器(道具:IAddressListProps){
超级(道具);
}
私有createAddressCard=()=>{
让父项=[];
this.props.items.map((地址)=>{
parent.push(
{config.colNames.addressList.clmnAddressType}:
{address.Adressart}
{config.colNames.addressList.clmnCompanyName}: {address.Firma}
{config.colNames.addressList.clmnPlaceName}: {address.Ort}
{config.colNames.addressList.clmnZipCode}: {address.PLZ}
{config.colNames.addressList.clmnTelephone}: {address.Telefon}
); }); 返回父母; } public render():React.ReactElement{ 返回( {this.createAddressCard()} ); } }
实现这一点的方法有很多,关键区别在于如何表示
值样式对

最后,您需要将这些值映射到它们的样式

用于:

const myStyles={
约翰尼·瑞德:{color:'red'},
斯蒂芬妮蓝:{color:'blue'},
“汉斯·格林”:{颜色:“格林”},
“五十种灰色:d':{颜色:'粉色'}
};
导出默认函数App(){
返回(
{Object.entries(myStyles.map)([key,style])=>(
{key}
))}
);
}

不太清楚您想要什么,但您可以将样式附加到组件上,如下所示:

const值=[
{
正文:“一”,
css:{color:'blue'}
},
{
文本:“两个”,
css:{color:'red'}
},
];
常量测试=道具=>{
常量{values}=props;
返回(
{values.map(
(value,i)=>{value.text}
)}
);
}
ReactDOM.render(
,
document.getElementById(“react”)
);


请你说得具体一点好吗?数组的用途是什么?声明了“值”,但从未读取其值。编辑器无法读取“值”数组:(在您的answer@Casterly值数组用作测试组件中的道具
          import * as React from "react";
          import { IAddressListProps } from '../../detailPage/components/interfaces/IAddressListProps';
          import { config } from "../../config";

          export class PrintAddressList extends React.Component<IAddressListProps, {}>{
            constructor(props: IAddressListProps) {
              super(props);
            }
            private createAddressCard = () => {
              let parent = [];
              this.props.items.map((address) => {
                parent.push(<div style={{ padding: '10px', border: '1px solid #ccc', margin: '5px' }}>
                  <label>{config.colNames.addressList.clmnAddressType}: </label>
                  <label>{address.Adressart}</label><br />
                  <label>{config.colNames.addressList.clmnCompanyName}: </label>
                  <label>{address.Firma}</label><br />
                  <label>{config.colNames.addressList.clmnPlaceName}: </label>
                  <label>{address.Ort}</label><br />
                  <label>{config.colNames.addressList.clmnZipCode}: </label>
                  <label>{address.PLZ}</label><br />
                  <label>{config.colNames.addressList.clmnTelephone}: </label>
                  <label>{address.Telefon}</label><br />
                </div>);
              });
              return parent;
            }

            public render(): React.ReactElement<IAddressListProps> {
              return (
                <div>
                  {this.createAddressCard()}
                </div>
              );
            }
          }