How do you change state inside a function ?
I'm trying to change the state of selectedFile from null to the event.target.files[0] but it's not working inside the onChangeHandler function.
import React, { Component } from "react";
export default class Comp1 extends Component {
constructor(props) {
super(props);
this.state = {
selectedFile: null,
};
}
onChangeHandler = event => {
console.log(event.target.files[0]); // <--THIS WORKS //
console.log(this.state.selectedFile); // <-- THIS WORKS //
this.setState({
selectedFile: event.target.files[0]
}); // THIS DOES NOT WORK //
console.log(this.state.selectedFile); // selectedFile did not update state //
};
render() {
return (
<div className="ui placeholder segment">
<div className="ui icon header" />
<input
type="file"
className="file"
id="file"
onChange={this.onChangeHandler}
/>
<label htmlFor="file">
<div className="button">Press</div>
</label>
</div>
);
}
}