xxxxxxxxxx
import React, {Component} from 'react';
class ButtonCounter extends Component {
constructor() {
super()
// initial state has count set at 0
this.state = {
count: 0
}
}
handleClick = () => {
// when handleClick is called, newCount is set to whatever this.state.count is plus 1 PRIOR to calling this.setState
let newCount = this.state.count + 1
this.setState({
count: newCount
})
}
render() {
return (
<div>
<h1>{this.state.count}</h1>
<button onClick={this.handleClick}>Click Me</button>
</div>
)
}
}
export default ButtonCounter
xxxxxxxxxx
// Correct
this.setState(function(state, props) {
return {
counter: state.counter + props.increment
};
});
xxxxxxxxxx
const [a, b] = React.useState(['hi','world']);
const dup = [a]; //won't work without spread operator
b(dup);
xxxxxxxxxx
You have to use setState() for updating state in React
{
hasBeenClicked: false,
currentTheme: 'blue',
}
setState({
hasBeenClicked: true
});
xxxxxxxxxx
const [x, setX] = useState({y:"yyyyyy"});
function a()
{
setX({y:"######"})
}
return(
<View style={styles.container}>
<Button onPress={()=>
a()
} ref={inputEls} id={x} title={x.y}/>
<Text>{x.y} </Text>
</View>
)