当前位置: 首页 > news >正文

access数据库做网站无锡网络公司哪家服务好

access数据库做网站,无锡网络公司哪家服务好,浙浙江省建设信息港,wordpress 获取缩略图React的状态提升 通常#xff0c;多个组件需要反映相同的变化数据#xff0c;这时我们建议将共享状态提升到最近的共同父组件中去 示例#xff1a; 我们写一个关于热水沸腾的组件#xff0c;当我们在输入框输入的温度大于100度时#xff0c;文字会显示热水沸腾。这样有…React的状态提升 通常多个组件需要反映相同的变化数据这时我们建议将共享状态提升到最近的共同父组件中去 示例 我们写一个关于热水沸腾的组件当我们在输入框输入的温度大于100度时文字会显示热水沸腾。这样有两个输入框分别是摄氏度和华氏度。我们要把他们两个的温度同步。 // 定义两个温度单位 const scaleNames {c: Celsius,//摄氏度f: Fahrenheit//华氏度 };// 摄氏度的转换公式 function toCelsius(fahrenheit) {return (fahrenheit - 32) * 5 / 9; }// 华氏度的转行公式 function toFahrenheit(celsius) {return (celsius * 9 / 5) 32; }// 两个度量单位之间进行转换使之同步 function tryConvert(temperature, convert) {const input parseFloat(temperature);if (Number.isNaN(input)) {return ;}const output convert(input);const rounded Math.round(output * 1000) / 1000;return rounded.toString(); }// 判断是否沸腾 function BoilingVerdict(props) {if (props.celsius 100) {return pThe water would boil./p;}return pThe water would not boil./p; }// 子组件主要输入框已经是否沸腾的判断要求传入scale 、temperature、onTemperatureChange class TemperatureInput extends React.Component {constructor(props) {super(props);this.handleChange this.handleChange.bind(this);}handleChange(e) {this.props.onTemperatureChange(e.target.value);}render() {const temperature this.props.temperature;const scale this.props.scale;return (fieldsetlegendEnter temperature in {scaleNames[scale]}:/legendinput value{temperature}onChange{this.handleChange} //fieldset);} } // 父组件进行状态提升。同步两个组件的状态 class Calculator extends React.Component {constructor(props) {super(props);this.handleCelsiusChange this.handleCelsiusChange.bind(this);this.handleFahrenheitChange this.handleFahrenheitChange.bind(this);this.state {temperature: , scale: c};}handleCelsiusChange(temperature) {this.setState({scale: c, temperature});}handleFahrenheitChange(temperature) {this.setState({scale: f, temperature});}render() {const scale this.state.scale;const temperature this.state.temperature;// 把华氏度转为摄氏度const celsius scale f ? tryConvert(temperature, toCelsius) : temperature;// 把摄氏度转为华氏度const fahrenheit scale c ? tryConvert(temperature, toFahrenheit) : temperature;return (divTemperatureInputscalectemperature{celsius}onTemperatureChange{this.handleCelsiusChange} /TemperatureInputscaleftemperature{fahrenheit}onTemperatureChange{this.handleFahrenheitChange} /BoilingVerdictcelsius{parseFloat(celsius)} //div);} }const root ReactDOM.createRoot(document.getElementById(root)); root.render(Calculator /); 让我们来重新梳理一下当你对输入框内容进行编辑时会发生些什么 React 会调用 DOM 中 input 的 onChange 方法。在本实例中它是 TemperatureInput 组件的 handleChange 方法。TemperatureInput 组件中的 handleChange 方法会调用 this.props.onTemperatureChange()并传入新输入的值作为参数。其 props 诸如 onTemperatureChange 之类均由父组件 Calculator 提供。起初渲染时用于摄氏度输入的子组件 TemperatureInput 中的 onTemperatureChange 方法与 Calculator 组件中的 handleCelsiusChange 方法相同而用于华氏度输入的子组件 TemperatureInput 中的 onTemperatureChange 方法与 Calculator 组件中的 handleFahrenheitChange 方法相同。因此无论哪个输入框被编辑都会调用 Calculator 组件中对应的方法。在这些方法内部Calculator 组件通过使用新的输入值与当前输入框对应的温度计量单位来调用 this.setState() 进而请求 React 重新渲染自己本身。React 调用 Calculator 组件的 render 方法得到组件的 UI 呈现。温度转换在这时进行两个输入框中的数值通过当前输入温度和其计量单位来重新计算获得。React 使用 Calculator 组件提供的新 props 分别调用两个 TemperatureInput 子组件的 render 方法来获取子组件的 UI 呈现。React 调用 BoilingVerdict 组件的 render 方法并将摄氏温度值以组件 props 方式传入。React DOM 根据输入值匹配水是否沸腾并将结果更新至 DOM。我们刚刚编辑的输入框接收其当前值另一个输入框内容更新为转换后的温度值。 得益于每次的更新都经历相同的步骤两个输入框的内容才能始终保持同步。 小结 在 React 应用中任何可变数据应当只有一个相对应的唯一数据源并且应该遵循自上而下的数据流规则如果某些数据可以由 props 或 state 推导得出那么它就不应该存在于 state 中 组合 包含关系 通过 JSX 嵌套 我们可以将任意组件作为子组件传递给它们 子组件 function FancyBorder(props) {return (div className{FancyBorder FancyBorder- props.color}{props.children} /div);}父组件 function WelcomeDialog() {return (FancyBorder colorblueh1 classNameDialog-title Welcome /h1 p classNameDialog-message Thank you for visiting our spacecraft! /p /FancyBorder);}jcode 方法二 子组件 function SplitPane(props) {return (div classNameSplitPanediv classNameSplitPane-left{props.left} /divdiv classNameSplitPane-right{props.right} /div/div);}父组件 function App() {return (SplitPaneleft{Contacts / }right{Chat / } /);}jcode
http://www.hkea.cn/news/14530472/

相关文章:

  • 淘宝类网站开发宁波网站推广专业服务
  • 我要进入手机建设银行网站企业信息系统定义
  • 成都产品网站建设自助广告位网站源码
  • 徐州建立网站目前最主流的网页制作软件是
  • 网站开发售后服务能力给企业做网站推广好么
  • 免费的作文网站学信网登录
  • 制作人在那个网站能看安徽省住房和城乡建设工程信息网
  • 网站开发挣不挣钱seo搜索营销分析方案
  • 织梦网站后台logo删除wordpress tint主题
  • 品牌网站要这么做义乌外贸网站开发
  • 网站上怎么做动画广告精准大数据营销公司
  • 做文化墙的网站温州市城乡建设建档案馆网站
  • 如何更换网站新域名国内外包网站
  • 大连哪家网站公司好wordpress屏蔽外国ip
  • 收集链接 做网站wordpress 多语言切换
  • 专业制作网站公司网站首页制作公司
  • 手机网站建站 服务器百度广告点击软件
  • 公司设计网站需要多久模板之家下载
  • 徐州网站外包上海政务服务网
  • 手机端模板网站上海网站建设最佳方案
  • 哪些网站可以做代理东方建设官方网站
  • 厦门微网站建设新手自建网站做跨境电商
  • 邯郸市网络建站鄞州区优秀营销型网站建设首选
  • 黄骅旅游景点大全广告开户南京seo
  • 网站开发终止协议书无锡大型网站建设公司
  • 打造自己的网站请人做网站需要问哪些问题
  • 微信授权登录网站退出怎么做wordpress主页显示图片
  • 网站模板插件论论坛坛网网站站建建设设
  • 如何加强精神文明网站建设内容最牛的视频网站建设
  • 购物网站后台怎么做中小型网站建设公司