আমি জিজ্ঞাসা করতে চাই যে আমি যখন অনক্লিক ইভেন্ট করি তখন কেন আমার রাজ্য পরিবর্তন হচ্ছে না। আমি কিছুক্ষণ আগে অনুসন্ধান করেছি যে আমাকে কন্সট্রাক্টরে অনক্লিক ফাংশনটি বাঁধতে হবে তবে এখনও রাষ্ট্র আপডেট করছে না। আমার কোডটি এখানে:
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
কোন প্রতিশ্রুতি ফিরিয়ে দেয় না যদি এটি কাজ করে তবে এটি কাজ করেছিল কারণawait
ফাংশনে একটি অ্যাসিঙ্ক "টিক" প্রবর্তন করে এবং এটি ঘটেছিল যে স্টেট আপডেটটি সেই টিকের সময় প্রক্রিয়াজাত হয়েছিল। এটির নিশ্চয়তা নেই। যেমন এই জবাবটি বলেছে, আপনার সমাপ্তি কলব্যাকটি ব্যবহার করা দরকার (রাষ্ট্র আপডেট হওয়ার পরে যদি আপনাকে সত্যিই কিছু করা দরকার যা অস্বাভাবিক; সাধারণত, আপনি কেবল পুনরায় রেন্ডার করতে চান, যা স্বয়ংক্রিয়ভাবে ঘটে)