Closed yf-fyf closed 9 years ago
再現は出来たので対処しておきます.
レンダリングの際に一度状態を初期化したら直りました. あまり綺麗な解決方法では無いと思うので,改善案があったら教えて下さい. (Reactで再レンダリングがどういった状況で起きるのかよく分からない......)
ついでに,削除する時にLoading画像を表示して無かったので機能を追加しました.
「コメント削除時」と「コメント投稿時」に現状だと画面のフォーカスが一番上に行ってしまうので,それも何とかしたい.
key属性追加するだけでよかったっぽい
return (
<Comment comment={comment} admin={this.props.admin}
token={this.props.token} report={this.props.report}
- acl={comment.acl} rerender={this.rerender}/>
+ acl={comment.acl} rerender={this.rerender}
+ key={comment.id}/>
);
}.bind(this));
return (
指摘してる通り画面がずれるので、loadingはもうちょっとうまい位置に出さないとだめかなぁ
まとめると、追加の2つのコミットはいらなくて key 属性を追加すればいいです。
削除したときのjs側のステートの更新がおかしい気がします。 具体的には削除押したコメントと違うコメントが消えて見える。 cgiのレスポンスのほうではちゃんと対応したコメントが消えてます。