摘要:背景在的方法中使用來保存的話,會導致輸入卡頓,原因是用戶在輸入時,一直在,導致整個頁面一直重新渲染主頁面解決方法將組件多帶帶封裝成一個組件,這樣就只會觸發自身重新渲染而不是整個頁面組件主頁面發送內容發送這樣就可以讓用戶愉快地輸入的同時,的值啦
背景:
在的onChange方法中使用setState來保存value的話,會導致輸入卡頓,原因是用戶在輸入時,一直在setState,導致整個頁面一直重新渲染
主頁面:
import React, { Component, } from "react"; import { Input } from "antd"; const { TextArea } = Input; class CustomCompent extends Component { constructor(props) { super(props); this.state = { targetValue: "", }; } handleChange = e => { let targetValue = e.target.value; this.setState({ targetValue, }); }; render() { const { targetValue } = this.state; return ( <> xxxx xxxx{targetValue.length}/100
> );}
解決方法:
將組件多帶帶封裝成一個組件(component),這樣就只會觸發自身重新渲染而不是整個頁面!
TextArea 組件:
import React from "react"; import { Input } from "antd"; const { TextArea } = Input; class CountTextArea extends React.PureComponent { constructor(props) { super(props); this.state = { targetValue: "", }; } handleChange = value => { let targetValue = value.target.value; this.setState({ targetValue, }); }; render() { const { setRef } = this.props; const { targetValue } = this.state; return ( <>{targetValue.length}/100
> ); } } export default CountTextArea;
主頁面:
import React, { Component, } from "react"; import { Button } from "antd"; import CountTextArea from "./CountTextArea"; class CustomCompent extends Component { componentDidMount() { this.customTextArea = React.createRef(); } handleOk = () => { if (this.customTextArea && this.customTextArea.current) { //發送內容 let value =this.customTextArea.current.textAreaRef.value //xxx } } render() { return ( <>> ); } }
這樣就可以讓用戶愉快地輸入的同時,setState textarea 的值啦~
(完)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109639.html
摘要:受控輸入框只會顯示通過傳入的數據。例如,數組中的元素將會渲染三個單選框或復選框。屬性接收一個布爾值,用來表示組件是否應該被渲染成選中狀態。 原文地址:React.js Forms: Controlled Components 原文作者:Loren Stewart 譯者:小 B0Y 校對者:珂珂君 本文涵蓋以下受控組件: 文本輸入框 數字輸入框 單選框 復選框 文本域 下拉...
摘要:傳入一個對象的時候,這個對象表示該組件的新狀態。下一節中我們將介紹小書配置組件的。 React.js 小書 Lesson10 - 組件的 state 和 setState 本文作者:胡子大哈本文原文:http://huziketang.com/books/react/lesson10 轉載請注明出處,保留原文鏈接以及作者信息 在線閱讀:http://huziketang.com/bo...
摘要:希望大家在這浮夸的前端圈里,保持冷靜,堅持每天花分鐘來學習與思考。 今天的React題沒有太多的故事…… 半個月前出了248個Vue的知識點,受到很多朋友的關注,都強烈要求再出多些React相前的面試題,受到大家的邀請,我又找了20多個React的使用者,他們給出了328道React的面試題,由我整理好發給大家,同時發布在了前端面試每日3+1的React專題,希望對大家有所幫助,同時大...
閱讀 1410·2021-11-25 09:43
閱讀 2268·2021-09-27 13:36
閱讀 1121·2021-09-04 16:40
閱讀 1962·2019-08-30 11:12
閱讀 3314·2019-08-29 14:14
閱讀 570·2019-08-28 17:56
閱讀 1328·2019-08-26 13:50
閱讀 1251·2019-08-26 13:29