美文网首页
记使用React的hooks中,出现setXXX方法无法刷新页面

记使用React的hooks中,出现setXXX方法无法刷新页面

作者: Sabertor | 来源:发表于2020-01-19 15:36 被阅读0次

    在使用React的新特性hooks的时候,出现了一个情况。当要刷新的是对象数组时,页面无法及时刷新。经过断点跟踪,确实走到setXXX方法中。但是页面无法刷新,当另外一个变量触发页面刷新时,才跟着一起刷新。大概如下:

    ```

     const [text,setText] = useState("");

     const [messageList,setMessageList] = useState([]);

    ```

     其中text是输入框的内容,messageList的对话内容。messageList为对象数组[{...},{...}]

     当直接更新对话内容时,无法触发页面。直到setText触发刷新后才跟随一起刷新呈现。


    解决:

     新增一个变量const [refresh,setRefresh] = useState(false);

    ```

    useEffect(()=>{

       refresh &&setTimeout(()=>setRefresh(false));

    },[refresh]);

    ```

    在setMessageList的使用处同时使用setRefresh

    ```

    setMessageList(temp);

    setRefresh(true);

    ```

    相关文章

      网友评论

          本文标题:记使用React的hooks中,出现setXXX方法无法刷新页面

          本文链接:https://www.haomeiwen.com/subject/uevrzctx.html