reactjs - 如何同步使用包含 setState 的函数
问题描述
我想同步使用包含 setState() 的函数
但是,它不起作用
这是我的代码
const [state, setState] = useState(false)
function handlerChange(someValue) {
//validate value and that result set state
const isValid = REGEXP.test(someValue)
setState(isValid)
}
async function checkValue() {
await handlerChange()
}
function handlerClick() {
checkValue().then(()=>{
if(state){
//some function
}})
}
上面的代码很多地方都省略了,
但是,要点是我想根据 handlerClick() 中的状态执行一些函数。
状态是异步处理的。
请任何建议/帮助
解决方案
您可以将 useEffect 与 state 参数一起使用,因为 useState 不提供任何回调,例如 setState Ex:
useEffect(() => {
console.log('Do something after state has changed', state);
}, [state])
或者您可以为此使用自定义挂钩。
推荐阅读
- database - pgSQL 以表名作为更新语句的参数更新游标中的当前行
- android - 从 zip 安装 android studio 时在 Windows 10 上没有 SDK
- android - 有人知道系统应用程序是否可以在 Android 中扩展 VpnService 吗?
- python - 绘制客户访问应用程序的次数
- ms-access - Ms Access中直接使用ttf/otf fontfile
- shell - 我无法使用 shell 脚本替换文件中的内容
- javascript - 是否可以在 React Native 中将组件作为后台工作?
- orchardcms - 在 Orchard 中卸载模块
- google-cloud-platform - 如何让错误日志出现在堆栈驱动程序错误报告中?
- networking - NETCONF(.Yin/Yang 文件)中的 include 和 import 语句有什么区别