Je suis nouveau pour réagir js. J'utilise Reactjs (ES6) pour mon nouveau projet. Comment puis-je utiliser moment.js pour formater la date?
Je veux formater mon post.date
dans la boucle mentionnée ci-dessous.
render() {
return (
<div>
{
this.props.data.map((post,key) =>
<div key={key} className="post-detail">
<h1>{post.title}</h1>
<p>{post.date}</p>
<p dangerouslySetInnerHTML={{__html: post.content}}></p>
<hr />
</div>
)}
</div>
);
}
Puisque vous utilisez webpack, vous devriez être capable de juste import
ou require
moment et ensuite l'utiliser
import moment from 'moment'
...
render() {
return (
<div>
{
this.props.data.map((post,key) =>
<div key={key} className="post-detail">
<h1>{post.title}</h1>
<p>{moment(post.date).format()}</p>
<p dangerouslySetInnerHTML={{__html: post.content}}></p>
<hr />
</div>
)}
</div>
);
}
...
Je sais que la question est un peu ancienne, mais depuis que je suis ici, on dirait que les gens sont toujours à la recherche de solutions.
Je vous suggère d'utiliser react-moment
link ,
react-moment
est livré avec des balises JSX
très pratiques qui réduisent beaucoup de travail. Comme dans votre cas: -
import React from 'react';
import Moment from 'react-moment';
exports default class MyComponent extends React.Component {
render() {
<Moment format="YYYY/MM/DD">{this.props.dateToFormat}</Moment>
}
}
Si les autres réponses échouent, importez-le en tant que
import moment from 'moment/moment.js'
peut travailler.
Importer le moment dans votre projet
import moment from react-moment
Alors utilise-le comme ça
return(
<Moment format="YYYY/MM/DD">{post.date}</Moment>
);
dans mon cas, je veux obtenir le fuseau horaire de plusieurs pays, installez le premier moment js
npm install moment --save
puis installez moment-timezone.js
npm install moment-timezone --save
alors je les importe dans mon composant comme celui-ci
import moment from 'moment';
import timezone from 'moment-timezone'
alors parce que je veux obtenir l'heure et les minutes et la deuxième séparément, je fais comme ça
<Clock minutes={moment().tz('Australia/Sydney').minute()} hour={moment().tz('Australia/Sydney').hours()} second={moment().tz('Australia/Sydney').second()}/>
import moment from 'moment';
.....
render() {
return (
<div>
{
this.props.data.map((post,key) =>
<div key={key} className="post-detail">
<h1>{post.title}</h1>
<p>{moment(post.date).calendar()}</p>
<p dangerouslySetInnerHTML={{__html: post.content}}></p>
<hr />
</div>
)}
</div>
);
}