Reactjs 反应渲染组件反应图标

Reactjs 反应渲染组件反应图标,reactjs,react-icons,Reactjs,React Icons,如何基于json文件信息呈现组件?我有一张地图正在呈现UL列表。每一个李都被渲染。(我知道我可以使用img来实现这一点,而不是将src={}作为json文件中的对象传递。但我想知道是否有其他方法可以解决此问题。代码如下: 从“React”导入React 从'react icons/fi'导入{FiLinkedin作为LinkedinIcon,FiGithub作为GithubIcon}; 从“../../socials.json”导入数据; 从“./styles”导入{Container}; 导出

如何基于json文件信息呈现组件?我有一张地图正在呈现UL列表。每一个李都被渲染。(我知道我可以使用img来实现这一点,而不是将src={}作为json文件中的对象传递。但我想知道是否有其他方法可以解决此问题。代码如下:

从“React”导入React
从'react icons/fi'导入{FiLinkedin作为LinkedinIcon,FiGithub作为GithubIcon};
从“../../socials.json”导入数据;
从“./styles”导入{Container};
导出默认函数配置文件(){
返回(
    {Data.map((社会,索引)=>{ 返回(
  • ) })}
) }
我会将您的
socials.json
转换为
socials.js
。然后您可以像这样更灵活地设置数据:

import {
  FiLinkedin as LinkedinIcon,
  FiGithub as GithubIcon,
} from 'react-icons/fi';

const Data = [
  {
    id: 1,
    url: 'url 1',
    title: 'title 1',
    slug: 'slug 1',
    icon: LinkedinIcon,
  },
  // Other socials...
];

export default Data;
// ...
import Data from '../../socials';

export default function Profile() {
  return (
    <Container>
      <ul id="profile-links">
        {Data.map((social, index) => {
          return (
            <li id={social.id} key={social.id}>
              <a href={social.url} target="_BLANK" rel="noreferrer">
                <social.icon size={20} />
                <strong>{social.title}</strong>
                <span className="small-link">{social.slug}</span>
              </a>
            </li>
          );
        })}
      </ul>
    </Container>
  );
}
然后可以在地图中动态渲染这些图标,如下所示:

import {
  FiLinkedin as LinkedinIcon,
  FiGithub as GithubIcon,
} from 'react-icons/fi';

const Data = [
  {
    id: 1,
    url: 'url 1',
    title: 'title 1',
    slug: 'slug 1',
    icon: LinkedinIcon,
  },
  // Other socials...
];

export default Data;
// ...
import Data from '../../socials';

export default function Profile() {
  return (
    <Container>
      <ul id="profile-links">
        {Data.map((social, index) => {
          return (
            <li id={social.id} key={social.id}>
              <a href={social.url} target="_BLANK" rel="noreferrer">
                <social.icon size={20} />
                <strong>{social.title}</strong>
                <span className="small-link">{social.slug}</span>
              </a>
            </li>
          );
        })}
      </ul>
    </Container>
  );
}
/。。。
从“../../socials”导入数据;
导出默认函数配置文件(){
返回(
    {Data.map((社会,索引)=>{ 返回(
  • ); })}
); }
我会将您的
socials.json
转换为
socials.js
。然后您可以像这样更灵活地设置数据:

import {
  FiLinkedin as LinkedinIcon,
  FiGithub as GithubIcon,
} from 'react-icons/fi';

const Data = [
  {
    id: 1,
    url: 'url 1',
    title: 'title 1',
    slug: 'slug 1',
    icon: LinkedinIcon,
  },
  // Other socials...
];

export default Data;
// ...
import Data from '../../socials';

export default function Profile() {
  return (
    <Container>
      <ul id="profile-links">
        {Data.map((social, index) => {
          return (
            <li id={social.id} key={social.id}>
              <a href={social.url} target="_BLANK" rel="noreferrer">
                <social.icon size={20} />
                <strong>{social.title}</strong>
                <span className="small-link">{social.slug}</span>
              </a>
            </li>
          );
        })}
      </ul>
    </Container>
  );
}
然后可以在地图中动态渲染这些图标,如下所示:

import {
  FiLinkedin as LinkedinIcon,
  FiGithub as GithubIcon,
} from 'react-icons/fi';

const Data = [
  {
    id: 1,
    url: 'url 1',
    title: 'title 1',
    slug: 'slug 1',
    icon: LinkedinIcon,
  },
  // Other socials...
];

export default Data;
// ...
import Data from '../../socials';

export default function Profile() {
  return (
    <Container>
      <ul id="profile-links">
        {Data.map((social, index) => {
          return (
            <li id={social.id} key={social.id}>
              <a href={social.url} target="_BLANK" rel="noreferrer">
                <social.icon size={20} />
                <strong>{social.title}</strong>
                <span className="small-link">{social.slug}</span>
              </a>
            </li>
          );
        })}
      </ul>
    </Container>
  );
}
/。。。
从“../../socials”导入数据;
导出默认函数配置文件(){
返回(
    {Data.map((社会,索引)=>{ 返回(
  • ); })}
); }
您可以创建一个方法,根据
社交图标的值为您提供图标。例如:

const getIcon = (icon) => {
    switch(icon) {
       case A:
        return <IconA />;
       case B:
        return <IconB />;
       default:
        return null;
    }
}
const getIcon=(icon)=>{
开关(图标){
案例A:
返回;
案例B:
返回;
违约:
返回null;
}
}

并在需要时调用此getIcon方法,将
社交.icon
作为参数。

您可以创建一个方法,根据
社交.icon
值为您提供图标。例如:

const getIcon = (icon) => {
    switch(icon) {
       case A:
        return <IconA />;
       case B:
        return <IconB />;
       default:
        return null;
    }
}
const getIcon=(icon)=>{
开关(图标){
案例A:
返回;
案例B:
返回;
违约:
返回null;
}
}

在需要的地方调用这个getIcon方法,并将
social.icon
作为参数。

social.icon用于有限/固定的图标集吗?我只想说social.icon=FiLinkedin或LinkedinIcon。例如:“icon”:“FiGithub”;social.icon是否用于有限/固定的图标集?我只想说social.icon=FiLinkedin或LinkedinIcon。例如:“icon”:“FiGithub”;