我试图输入文本到innerState.feedType。但当我尝试时,它说无法读取属性'toString'的undefined如何修复我的代码?
这是我的代码
const [innerState, setInnerState] = useState<any>({
feedType: 'bbong',
})
const onChangeEtcfeedtype = useCallback((text) => {
setInnerState( innerState['feedType'] = text)
},[]);
<TextInput
placeholder="input."
value={innerState.feedType}
onChangeText={onChangeEtcfeedtype}
/>
字符串
3条答案
按热度按时间mwg9r5ms1#
你需要添加null-safety(?)操作符,因为状态是在渲染组件之后创建的。还需要返回对象上的新链接以重新渲染组件。
字符串
smtd7mpg2#
在这里,
innerState['feedType'] = text
你是直接改变状态,然后使用updater函数存储它,你不应该直接改变它。你有一个 innerState,它是一个对象,它包含了feedType属性。所以,更新一个状态,你必须用相同的键和新的值传递对象。
字符串
k0pti3hp3#
我认为这是你应该写的。关于错误。它看起来不像是来自这部分。它来自你的
<TextInput />
组件,可能是因为你对onChangeevent
的操作造成的。字符串