前提・実現したいこと
Ethereumを使ったTodo Listを作成していて、Todoを作成した時間を表示したいです。
発生している問題・エラーメッセージ
該当のソースコード
下記のコードでブロックチェーンから、content
とtime
を含むtask
を取り出し、
そのtask
の配列をstateにセットしています。
js
1constructor(props) { 2 super(props) 3 this.state = { 4 tasks: [], 5 } 6} 7 8・・・ 9 10for (var k = 1; k <= taskCount; k++) { 11 const task = await todoList.methods.tasks(k).call() 12 this.setState({ 13 tasks: [...this.state.tasks, task] 14 }) 15}
tasks
の配列を表示するためにmapを使って繰り返し処理を行なっています。
JS
1{ this.props.tasks.map((task, key) => { 2 return( 3 <div key={key}> 4 <p>{task.content}</p> 5 <p>{task.time}</p> 6 </div> 7 ) 8})}
その結果、数字の羅列になりました
1555650125 1555651118 1555651169 1555664902
試したこと
ですので{task.time}
を{Date(checkin.checkintime)}
に変えたところ時間が全て同じになりました。
Sat Apr 20 2019 09:20:57 GMT+0900 (日本標準時) Sat Apr 20 2019 09:20:57 GMT+0900 (日本標準時) Sat Apr 20 2019 09:20:57 GMT+0900 (日本標準時) Sat Apr 20 2019 09:20:57 GMT+0900 (日本標準時)
だた、最初のtask
をセットするところで下記のコードにすると、consoleできちんと表示されていました。
for (var k = 1; k <= taskCount; k++) { const task = await todoList.methods.tasks(k).call() this.setState({ tasks: [...this.state.tasks, task] }) }
Fri Apr 19 2019 14:02:05 GMT+0900 (日本標準時) Fri Apr 19 2019 14:18:38 GMT+0900 (日本標準時) Fri Apr 19 2019 14:19:29 GMT+0900 (日本標準時) Fri Apr 19 2019 18:08:22 GMT+0900 (日本標準時) Fri Apr 19 2019 18:20:15 GMT+0900 (日本標準時)
TodoListで時間を表示するために何かアドバイスいただけないでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。