2 回答
TA贡献2016条经验 获得超9个赞
你不需要箭头基金和React.createClass
<i className="footer-img">{Icons[this.props.country.code]}</i>
module.exports = {
AR: <svg xmlns="http://www.w3.org/2000/svg" width="20" height="11" viewBox="0 0 20 11"></svg>,
AU: <svg xmlns="http://www.w3.org/2000/svg" width="20" height="11" viewBox="0 0 20 11"></svg>,
----few other components
}
TA贡献1890条经验 获得超9个赞
您可以将 svg 组件直接保存在您的图标对象键上,并像使用普通组件一样使用它,试试这个:
module.exports = {
AR: () => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="11"
viewBox="0 0 20 11"
></svg>
),
AU: () =>(
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="11"
viewBox="0 0 20 11"
></svg>
)
};
然后要求它并使用它:
var Icons = require('./Icons');
const YourApp = ({ country }) => {
const IconComponent = Icons[country.code];
return (
<i className="footer-img">
{<IconComponent />}
</i>
);
};
添加回答
举报