我想在keydownListener這個(gè)方法中去取上面定義好的最新的value的值,但是發(fā)現(xiàn)每次取到的都是初始的值。哪位大神一頁到過這中問題,煩請(qǐng)解答一下,不勝感激。functionInput(props){letinputRef=useRef(null);let{value,handleChange,handleKeyDown,handleBlur,handleFocus}=useInputValue(inputRef,props.addTodo);return()exportconstuseInputValue=(inputRef,addTodo)=>{let[value,setValue]=useState('');letfocusStatus=useRef(false);consthandleChange=useCallback((e)=>{letv=e.target.value;setValue(v);},[])consthandleFocus=()=>{focusStatus.current=true;inputRef.current.addEventListener('keydown',keydownListener);}consthandleBlur=()=>{focusStatus.current=false;inputRef.current.removeEventListener('keydown',keydownListener);}constkeydownListener=(e)=>{if(e.keyCode===13&&focusStatus.current){addTodo(value);//????這個(gè)地方取到的值始終都是''setValue('');}}return{value,handleChange,handleBlur,handleFocus}
React hooks組件中,定義的方法為什么取不到新的state的值
繁星點(diǎn)點(diǎn)滴滴
2019-05-08 12:37:46