reactjs - 无法在`conditions`中使用useState Hooks“设置”
问题描述
我只是在学习创造functional component
,但setState
在使用条件时遇到了问题React Native
这是一个例子:
const FlixTextInput=({
}, ref)=>{
const [value, setValue] = React.useState('')
const onChangeText=(text)=>{
if(props.regex){
try {
let validate = new RegExp(props.regex)
console.log('[FlixTextInput] validate regex', validate.test(text))
console.log('[FlixTextInput] textz', text)
console.log('[FlixTextInput] value', value)
if(validate.test(text) === true) setValue(text) //cannot setValue here
} catch (error) {
throw new Error(error)
}
} else {
setValue(text)
}
}
return (
<TextInput
onChangeText={onChangeText}
value={value}
/>
)
}
export default React.forwardRef(FlixTextInput)
我在这样的父组件中使用:
<FlixTextInput
ref={i=>this.textVal = i}
regex={/^[a-zA-Z]+$/g}
/>
但即使说是真的setValue
也行不通。regex
难道我做错了什么?我试图搜索问题,但我还没有找到正确的解决方案。
解决方案
推荐阅读
- angular - 如何将物化组件与.net mvc与角度js路由一起使用
- algorithm - 自调用数组返回php
- ruby-on-rails - Rails Capybara 没有检测到弹性项目的 vivsiblity
- javascript - 可以调整从 API 调用返回的图像大小吗?
- bash - 如何修复 bash 的无效标识符?
- shiny - ObserveEvent 没有按照我想要的方式运行代码
- powershell - VSCode Intellisense 和 powershell 终端反应强烈延迟
- flutter - 在 Flutter 团队的 webview 中禁用捏合缩放
- google-apps-script - 在模态对话框中显示来自谷歌驱动器文件夹的文件列表
- jmeter - 使用 Jmeter 为多个用户凭据生成 OAuth 令牌