React Native - React Hooks - useState 不会立即更新我的状态

帕杰瓦尔

我试图通过 convert 函数传递更新的值以在每次状态更新时显示新结果,但似乎状态“const [values]”没有立即更新,我正在从以前的状态值中获取结果。因此,每次更改值时,我的结果都会落后一步。在控制台中,我可以看到我从输入中获取新值,但“值”状态显示以前的值。

const [values, setValues] = useState({
        sqmtr: "",
        sqft: "",
    });
  
  const handleTextChange = (text, name) => {
        setValues({ ...values, [name]: text });
        convert(unit, values);
                console.log(text);
                console.log(values);
    };
<TextInput
  style={styles.inputField}
  defaultValue={values.sqmtr}
  onChangeText={(text) =>
    handleTextChange(text, "sqmtr")}
  placeholder="0"
  keyboardType={"numeric"}
/>

Liu Lei
const handleTextChange = (text, name) => {
  const value = { ...values, [name]: text }
  // `setValues` is async. so use the value directly
  setValues(value);
  convert(unit, value);
  console.log(text);
  console.log(values);
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章