В настоящее время я полностью застрял в React Hook .
Когда состояние меняется, trueоно должно показывать console.log('currentBoolean'), но этого не происходит.
Не уверен, стоит ли мне это использовать usePrevious, потому что при сравнении чисел он хорошо работает с этим кодом, но кажется, что он не работает, когда я пытаюсь проверить, изменяется ли логическое значение по умолчанию.
const MemoryPageTwo = ({ disabledAllCards }) => {
const boolean = useRef(null);
const [ isCurrentBoolean , setLevel ] = useState(false);
useEffect(() => {
console.log(isCurrentBoolean);
if(isCurrentBoolean) {
console.log('currentBoolean');
}
}, [isCurrentBoolean]);
useEffect(() => {
const storedBoolean = disabledAllCards ;
boolean.current = storedBoolean;
return () => storedBoolean
}, []);
//
useEffect(() => {
setLevel(boolean.current !== disabledAllCards);
},[boolean.current, disabledAllCards]);
}
const mapStateToProps = state => {
console.log(state.app.disableCards); // default is false, but this will be true if the memorycard matches
return {
disabledAllCards: state.app.disableCards || [],
}
}
export default connect(mapStateToProps, null)(MemoryPageTwo);