0
Il s'agit d'un projet de réaction et le code ci-dessous est jsx. Code J'essaie de sécher ci-dessous. Ça marche bien mais c'est long!Erreur lors de la tentative de séchage de ce code de réaction (jsx)
const rightIcons = (
<div>
<a href="#">
<FontIcon
className="material-icons"
style={iconStyles}
onClick={() => this.props.scrollCallback('frontend')}
>
important_devices
</FontIcon>
</a>
<a href="#">
<FontIcon
className="material-icons"
style={iconStyles}
onClick={() => this.props.scrollCallback('backend')}
>
dns
</FontIcon>
</a>
<a href="#">
<FontIcon
className="material-icons"
style={iconStyles}
onClick={() => this.props.scrollCallback('withCare')}
>
favorite
</FontIcon>
</a>
...
</div>
);
c'est ma tentative de boucle à travers elle
const iconFields = [
{ icon: 'important_devices', component: 'frontend' },
{ icon: 'dns', component: 'backend' },
{ icon: 'favorite', component: 'withCare' },
{ icon: 'code', component: 'projects' },
{ icon: 'face', component: 'contact' }
];
{iconFields.map(function(icon, i) {
return (
<a href="#" key={i}>
<FontIcon
className="material-icons"
style={iconStyles}
onClick={() => this.props.scrollCallback(icon.component)}
>
{icon.icon}
</FontIcon>
</a>
);
})}
J'ai essayé le « icon.component » quelques façons différentes mais il provoque toujours une erreur. Le "icon.icon" fonctionne bien
En premier extrait de code que vous passez le composant sous forme de chaîne comme 'this.props.scrollCallback (« back-end »)' et dans le code en boucle que vous passez le composant comme objet. Changez donc cela en 'this.props.scrollCallback (icon.component)}' –
TypeError: Impossible de lire la propriété 'props' de undefined> –
onClick = {() => this.props.scrollCallback (icon.component)} –