Sémantique UI (React): comment utiliser les composants de lien dans le Menu.Les éléments de liste
j'essaie d'obtenir une liste de menu sémantique ui (react), qui devrait fonctionner avec le routeur react, ce qui veut dire que j'aimerais utiliser le Link composant react router
Si je l'utilise...
<Menu.Item name='profile'>
<Icon name='user' />
My profile
</Menu.Item>
...il me donne le résultat:
<a class="item">
<i aria-hidden="true" class="user icon"></i>
My profile
</a>
Mais je voudrais obtenir quelque chose comme
<Link to='profile'>
<i aria-hidden="true" class="user icon"></i>
My profile
</Link>
celui-ci ne fonctionne pas, que la syntaxe est fausse:
<Menu.Item name='profile' as={ <Link to='profile' /> }>
<Icon name='user' />
My profile
</Menu.Item>
16
demandé sur
Alexander Fedyashov
2017-02-07 06:21:38
2 réponses
vous devez utiliser le SUIR augmentation:
<Menu.Item as={ Link } name='profile' to='profile'>
<Icon name='user' />
My profile
</Menu.Item>
52
répondu
Alexander Fedyashov
2018-10-04 09:36:07
Utiliser browserHistory.push au lieu de cela ; il a été fourni aussi par react-router comme alternative de Link mais non balisage :
import {browserHistory} from 'react-router';
redirect(to) {
browserHistory.push({
pathname: to
});
}
//......
<Menu.Item name="profile" onClick={this.redirect('/profile')}
<Icon name='user' />
My profile
</Menu.Item>
Si vous souhaitez obtenir /profilename accessoires , modifiez la ligne par :
<Menu.Item name="profile" onClick={(event, itemProps) => this.redirect(itemProps.name)}
Et si oui , <Menu onItemClick={...} > vaut mieux que <Menu.item onClick={...} >
5
répondu
Abdennour TOUMI
2017-02-07 03:38:43