J'ai travaillé sur un petit jeu en réaction et une partie du jeu permet au joueur de définir certains paramètres avant de commencer. C'est un jeu d'étiquettes au tour par tour, quatre joueurs poursuivent différents jetons sur la carte, tout en évitant le joueur étiqueté "it".
J'ai la méthode de rendu suivante pour une option de sélection:
render() { return ( <div> <form onSubmit={this.createPlayers} ref="form"> <label htmlFor="goodies">Choose a Goody!</label> <select name="goodies" id="goodies"> <option value="donut">ð©</option> <option value="cookie">ðª</option> <option value="hotdog">ð</option> <option value="bacon">ð¥</option> <option value="hamburger">ð</option> <option value="brocolli">ð¥¦</option> </select> <button type="submit">Play!</button> </form> </div> ); }
3 Réponses :
Mise à jour : vous souhaiterez peut-être créer un composant pour Emoji comme suit avec la balise dans le composant Emoji
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script> <div id="app"></div>
const Emoji = props => ( <option className="emoji" role="img" aria-label={props.label ? props.label : ""} aria-hidden={props.label ? "false" : "true"} value={props.label} > {props.symbol} </option> ) class MyComponent extends React.Component { render() { return ( <div> <form onSubmit={this.createPlayers} ref="form"> <label htmlFor="goodies">Choose a Goody!</label> <select onChange={(e)=>{console.log(e.target.value)}} name="goodies" id="goodies"> <Emoji label="donut" symbol="ð©" /> <Emoji label="cookie" symbol="ðª" /> <Emoji label="hotdog" symbol="ð" /> <Emoji label="bacon" symbol="ð¥" /> <Emoji label="hamburger" symbol="ð" /> <Emoji label="brocolli" symbol="ð¥¦" /> </select> <button type="submit">Play!</button> </form> </div> ) } } ReactDOM.render(<MyComponent />, document.querySelector("#app"))
Si je fais cela, je me retrouve avec [objet Objet] dans ma liste déroulante.
Ça le fait de mon côté! Je vous remercie :)
Ajoutez dans sélectionnez
comme ceci
<select name="goodies" id="goodies"> <option value="donut"> <span role="img" aria-label="donut">ð©</span> </option> .... </select>
Une façon que j'ai trouvée d'utiliser les emojis avec react est la syntaxe suivante basée sur l'Unicode d'emoji.
Essayez ceci:
render() { return ( <div> <form onSubmit={this.createPlayers} ref="form"> <label htmlFor="goodies">Choose a Goody!</label> <select name="goodies" id="goodies"> <option value="donut">{`\u{1f369}`}</option> <option value="cookie">{`\u{1f36a}`}</option> <option value="hotdog">{`\u{1f32d}`}</option> <option value="bacon">{`\u{1f953}`}</option> <option value="hamburger">{`\u{1f354}`}</option> <option value="brocolli">{`\u{1f966}`}</option> </select> <button type="submit">Play!</button> </form> </div> ); }
Donc, votre code serait comme:
{`\u{1f369}`}
Je ne suis pas sûr de la chose {`
cependant, je viens d'utiliser \ u {
.
Avez-vous essayé
🐼
?Comme je l'ai dit, si je fais cela, le JSX ne se compilera pas.
Supprimez la règle
accessible-emoji
de votre fichier de configuration.eslintrc
.