Bir onclick etkinliği yaptığımda durumumun neden değişmediğini sormak istiyorum. Bir süre önce yapıcıdaki onclick işlevini bağlamam gerektiğini araştırdım, ancak yine de durum güncellenmiyor. İşte kodum:
import React from 'react';
import Grid from 'react-bootstrap/lib/Grid';
import Row from 'react-bootstrap/lib/Row';
import Col from 'react-bootstrap/lib/Col';
import BoardAddModal from 'components/board/BoardAddModal.jsx';
import style from 'styles/boarditem.css';
class BoardAdd extends React.Component {
constructor(props){
super(props);
this.state = {
boardAddModalShow: false
}
this.openAddBoardModal = this.openAddBoardModal.bind(this);
}
openAddBoardModal(){
this.setState({ boardAddModalShow: true });
// After setting a new state it still return a false value
console.log(this.state.boardAddModalShow);
}
render() {
return (
<Col lg={3}>
<a href="javascript:;" className={style.boardItemAdd} onClick={this.openAddBoardModal}>
<div className={[style.boardItemContainer,style.boardItemGray].join(' ')}>
Create New Board
</div>
</a>
</Col>
)
}
}
export default BoardAdd
setState
bir söz vermez. İşe yaradı ise, bunun nedeni yalnızca çalıştıawait
tanıtır bir zaman uyumsuz "kene" fonksiyonu içine ve oldu devlet güncelleştirme bu kene sırasında işlenir var olduğunu. Garantili değil. As Bu cevap diyor, sen tamamlama geri arama kullanmak gerekir (gerçekten devlet güncellendikten sonra sıradışı olan, bir şeyler yapmak gerekiyorsa; normalde, sadece otomatik hapens hangi-işlemek yeniden istiyorsunuz).