当前位置: 首页> 科技> 数码 > 公众号开发所需技术_免费自己制作音乐_不死鸟分享友情链接_郑州seo阿伟

公众号开发所需技术_免费自己制作音乐_不死鸟分享友情链接_郑州seo阿伟

时间:2025/7/11 18:29:33来源:https://blog.csdn.net/2301_76671906/article/details/147240399 浏览次数:0次
公众号开发所需技术_免费自己制作音乐_不死鸟分享友情链接_郑州seo阿伟

1.高阶函数与函数柯里化概念

 高阶函数:符合其中之一,那该函数为高阶函数

  • 1.A函数,接收的参数是一个函数,那么A就是高阶函数
  • 2.A函数,调用的返回值是一个函数,那么A就是高阶函数

常见的高阶函数:Promise setTimeout  数组常见的方法 arr.map、filter、reduce、sort、forEach、find、findIndex、some、every、bind、call、apply。

函数柯里化:通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理函数编码形式。

2.提交表单数据调用同一方法

具体实现

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Hello,React 表单调用同一方法保存数据</title>
</head><body><!-- 容器 --><div id="test"></div><!-- {/* // 引入 React核心库 */} --><script src="https://unpkg.com/react@16/umd/react.production.min.js"></script><!-- {/* // 引入 react-dom 用于支持 react 操作 DOM */} --><script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script><!-- {/* // 引入 babel:1. ES6 ==> ES5 2. jsx ==> js */} --><script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script><!-- {/* // 引入 JSX 语法 */} --><script type="text/babel">// 1. 创建组件class LoginForm extends React.Component {// 初始化状态state = {username: '',//用户名password: ''//密码}// change事件 保存表单数据saveFormData = (dataType) => {return (event) => {this.setState({// 使用对象展开运算符将用户名或密码存入 state状态中[dataType]: event.target.value})}}handleSubmit = (event) => {// 阻止默认事件 阻止提交表单event.preventDefault()console.log(this.state);const ojectData = this.statealert(`用户名:${ojectData.username},密码:${ojectData.password}`)}render() {return (<form  onSubmit={this.handleSubmit}>用户名:<input onChange={this.saveFormData('username')} type="text" name="username" /><br />密码:<input  onChange={this.saveFormData('password')} type="password" name="password" /><br /><button>登录</button></form>)}}// 2. 渲染虚拟DOM到页面ReactDOM.render(<LoginForm />,document.getElementById('test'))</script>
</body></html>

 非柯里化实现提交

<body><!-- 容器 --><div id="test"></div><!-- {/* // 引入 React核心库 */} --><script src="https://unpkg.com/react@16/umd/react.production.min.js"></script><!-- {/* // 引入 react-dom 用于支持 react 操作 DOM */} --><script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script><!-- {/* // 引入 babel:1. ES6 ==> ES5 2. jsx ==> js */} --><script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script><!-- {/* // 引入 JSX 语法 */} --><script type="text/babel">// 1. 创建组件class LoginForm extends React.Component {// 初始化状态state = {username: '',//用户名password: ''//密码}// change事件 保存表单数据saveFormData = (dataType,event) => {this.setState({// 使用对象展开运算符将用户名或密码存入 state状态中[dataType]: event.target.value})}handleSubmit = (event) => {// 阻止默认事件 阻止提交表单event.preventDefault()console.log(this.state);const ojectData = this.statealert(`用户名:${ojectData.username},密码:${ojectData.password}`)}render() {return (<form  onSubmit={this.handleSubmit}>用户名:<input onChange={event=>this.saveFormData('username',event)} type="text" name="username" /><br />密码:<input  onChange={event=>this.saveFormData('password',event)} type="password" name="password" /><br /><button>登录</button></form>)}}// 2. 渲染虚拟DOM到页面ReactDOM.render(<LoginForm />,document.getElementById('test'))</script>
</body>
关键字:公众号开发所需技术_免费自己制作音乐_不死鸟分享友情链接_郑州seo阿伟

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: