我用 React Native 编写了功能组件。但我遇到了麻烦,因为一个奇怪的问题似乎是一个错误。
我的目的是改变反应功能组件中的变量,但变量没有改变。
--我知道这会通过改变
let isDirty
来
解决cosnt [isDirty,setIsDirty] = useState(false)
为什么当handleTitleChange事件发生时“isDirty”没有改变?
在纯js中,效果很好
import React, { useState } from 'react';
import { View, TextInput, CheckBox, Button } from 'react-native';
import { NavigationInjectedProps } from 'react-navigation';
import TodoItem from '../models/todoItem';
import { updateItem } from '../DataProvider';
interface UpdateProps extends NavigationInjectedProps {
}
const Update: React.FC<UpdateProps> = (props) => {
const [item, setItem] = useState(props.navigation.getParam("item") as TodoItem)
let isDirty=false
const handleSave=()=>{
updateItem(item)
if(isDirty&&props.navigation.state.params)
{
props.navigation.state.params.onUpdated(item);
}
props.navigation.goBack();
} …
Run Code Online (Sandbox Code Playgroud)