组件嵌套+Mixin函数demo

非DOM属性:1.dangerouslysetInnerHTML(xxs跨站攻击)

2.key

3.ref
编写组件嵌套
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../build/react.js"></script>
<script src="../build/react-dom.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
<!-- 定义子组件 -->
var GenderSelect= React.createClass({
render:function(){
return (
<!-- 父组件通过属性与子组件通信 -->
<select onChange={this.props.handleSelect}>
<option value="0">男</option>
<option value="1">女</option>
</select>
)
}
});
var SignupForm=React.createClass({
getInitialState:function(){
return {
name:'',
password:'',
gender:''
}
},
<!-- 子组件事件委托 -->
handleSelect:function(event){
this.setState({
gender:event.target.value
})
},
handChange:function(key,event){
var newState={}
newState[key]=event.target.value
this.setState(newState)
},
render: function(){
console.log(this.state)
return (
<form>
<input type="text" placeholder="说的什么吧" onChange={this.handChange.bind(this,'name')} />
<input type="password" onChange={this.handChange.bind(this,'password')} />
<GenderSelect handleSelect={this.handleSelect}></GenderSelect>
</form>
)
}
});
ReactDOM.render(
<SignupForm></SignupForm>,
document.getElementById('example')
);
</script>
</body>
</html>
编写简单的Mixin函数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../build/react.js"></script>
<script src="../build/react-dom.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
<!-- Mixin=一组方法:1.横向抽离
2.面向切面编程,插件 -->
var BindingMixin = {
<!-- 多个函数作用相似的组件 参数key -->
changContent:function(key){
<!-- 作用域 -->
var _self=this
<!-- 函数闭包 -->
var newState={}
return function(event){
newState[key]=event.target.value
_self.setState(newState)
}
}
}
var HelloMessage=React.createClass({
<!-- 引用Mixin函数 -->
mixins:[BindingMixin],
getInitialState:function(){
return {
contentText:'',
password:''
}
},
render: function(){
return (
<form>
<input type="text" placeholder="说点什么吧" onChange={this.changContent('contentText')} />
<p>{this.state.contentText}</p>
<textarea onChange={this.changContent('password')} ></textarea>
<p>{this.state.password}</p>
</form>
)
}
});
<!-- 用于将模板转为HTML语言并插入指定的DOM节点 -->
ReactDOM.render(
<HelloMessage />,
document.getElementById('example')
);
</script>
</body>
</html>

组件嵌套+Mixin函数demo的更多相关文章
- Vue.js之组件嵌套小demo
Vue.js之组件嵌套的小demo项目 第一步:初始化一个wabpack项目,这里不在复述.第二步:在components文件夹下新建Header.vue Footer.vue和Users.vue三个 ...
- 5. React 组件的协同使用 组件嵌套和Mixin
组件是React的核心,构建大型项目时多个组件之间需要进行协同使用.可以从横向和纵向两个角度来实现组件的协同使用,纵向的协同使用就是组件嵌套,横向的协同使用就是Mixin(抽取公共方法 ...
- vue 基础-->进阶 教程(3):组件嵌套、组件之间的通信、路由机制
前面的nodejs教程并没有停止更新,因为node项目需要用vue来实现界面部分,所以先插入一个vue教程,以免不会的同学不能很好的完成项目. 本教程,将从零开始,教给大家vue的基础.高级操作.组件 ...
- 微信开源组件WCDB漫谈及Demo
代码地址如下:http://www.demodashi.com/demo/12422.html 前言 移动端的数据库选型一直是一个难题,直到前段时间看到了WeMobileDev(微信前端团队)放出了第 ...
- React 三大属性state,props,refs以及组件嵌套的应用
React 三大属性state,props,refs以及组件嵌套的应用 该项目实现了一个简单的表单输入添加列表的内容 代码如下 <!DOCTYPE html> <html> & ...
- [前端随笔][Vue] 多级菜单实现思路——组件嵌套
说在前面 本篇记录学习了vue-element-admin中的多级菜单的实现 [传送门] @vue/cli 4.2.2:vuex:scss:组件嵌套 正文 创建项目 npm create 项目名 // ...
- 【React】学习笔记(一)——React入门、面向组件编程、函数柯里化
课程原视频:https://www.bilibili.com/video/BV1wy4y1D7JT?p=2&spm_id_from=pageDriver 目录 一.React 概述 1.1.R ...
- Vue.js多重组件嵌套
Vue.js多重组件嵌套 Vue.js中提供了非常棒的组件化思想,组件提高了代码的复用性.今天我们来实现一个形如 <app> <app-header></app-head ...
- React入门---组件嵌套-5
组件嵌套 我们现在需要组件嵌套,所以要创建其他组件,目前有一个头部组件,在./components/header.js; 接下来在components文件中创建:底部组件footer.js 和主体组件 ...
随机推荐
- Timus 2068. Game of Nuts 解题报告
1.题目描述: 2068. Game of Nuts Time limit: 1.0 secondMemory limit: 64 MB The war for Westeros is still i ...
- BabelMap 9.0.0.3 汉化版(2016年12月27日更新)
软件简介 BabelMap 是一个免费的字体映射表工具,可辅助使用<汉字速查>程序. 该软件可使用系统上安装的所有字体浏览 Unicode 中的十万个字符,还带有拼音及部首检字法,适合文献 ...
- MySQL乱码问题
JSP的request 默认为ISO8859_1,所以在处理中文的时候, 要显示中文的话,必须转成GBK的,如下 String str=new String(request.getParamete ...
- Linux_用户级_常用命令(2):cd
开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! Linux常用命令第二集包含命令:cd 一.格式: cd directory 使用cd命令在目录层次间移 ...
- mac_snailSVN
作者:潘捷链接:https://www.zhihu.com/question/19705164/answer/119484169来源:知乎著作权归作者所有,转载请联系作者获得授权. Mac下之前也有类 ...
- 总结一下今天做的unity面试题(一):刚体的点击事件
按照需求,由于要模拟丧尸被击中的效果,不能使用CharactorControll组件,只能使用rigidbody组件. 首先在场景上摆好僵尸和相机的位置,这里就不给相机加脚本了,直接固定住. 然后给丧 ...
- springmvc json字符串转化成json对象
问题出现在 :页面数据列表的展示出现 [object HTMLInputElement] 找到问题的所在原因后又三种解决方案 一:格式化json字符串为json对象字符串 success:functi ...
- filter(滤镜) 属性 内部资料 请勿转载 谢谢合作
Filter 描述 none 默认值,没有效果. blur(px) 给图像设置高斯模糊."radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊 ...
- Swift基础语法学习总结(转)
Swift基础语法学习总结 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...
- 脚本改yum源