[英]How to set a File in a React state
setState()
不是同步的,请改用它的回调
setState(
{ file: [file] },
() => console.log(this.state.file)
);
将 setState() 视为更新组件的请求而不是立即命令。 为了获得更好的感知性能,React 可能会延迟它,然后一次更新多个组件。 React 不保证状态更改会立即应用。
setState() 并不总是立即更新组件...
随着 React 的官方文档: https : //en.reactjs.org/docs/react-component.html#setstate
setState() 并不总是立即更新组件。 它可能会批量更新或推迟更新。 这使得在调用 setState() 后立即读取 this.state 成为一个潜在的陷阱。 相反,请使用 componentDidUpdate 或 setState 回调 (setState(updater, callback)),这两者都保证在应用更新后触发。 如果您需要根据之前的状态设置状态,请阅读下面的更新程序参数。
您必须在此处使用函数回调:
setState(stateChange[, callback])
例子 :
setState({file: [file]}, () => { console.log(this.state.file) });
此外,如果你想调试和观察组件的状态和道具。 我推荐你使用 React Developer Tool。 它更容易https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.