react 父子传值
- import React from 'react';
- import ReactDOM from 'react-dom';
- import $ from 'jquery';
- //var $ = require('jquery');
- $("#hello").html("hello22888888888888888888888");
- class Animal {
- constructor(){
- this.type = 'animal'
- }
- says(say){
- console.log(this.type + ' says ' + say)
- }
- }
- let animal = new Animal()
- animal.says('hello') //animal says hello
- class Cat extends Animal {
- constructor(){
- super();
- this.type = 'cat'
- }
- }
- let cat = new Cat()
- let ii=(i)=>{return i+13+6};
- cat.says('hello:'+ ii(3)) //cat says hello
- function animals(...types){
- console.log(types)
- }
- animals('cat', 'dog', 'fish')
- let cat1 = 'ken';
- let dog = 'lili';
- let zoo = {cat1, dog};
- console.log(zoo)
- class Content extends React.Component {
- render () {
- return (
- <div>
- <input ref="myInput" type="text" value={this.props.myDataProp} onChange={this.props.updateStateProp} />
- <h4>{this.props.myDataProp}</h4>
- </div>
- )
- }
- };
- class HelloMessage extends React.Component {
- constructor(props){
- super(props);
- this.state={
- value: 'Hello Runoob!',
- label:"hee"
- }
- }
- handleChange(event) {
- // this.setState({value: event.target.value});
- let d= new Date();
- //this.refs.myInput2.focus();
- this.setState({
- value: event.target.value,
- label: event.target.value ? event.target.value : d.getTime()
- });
- console.log(this.state)
- }
- handleChange2(event) {
- // this.setState({value: event.target.value});
- let d= new Date();
- console.log('handleChange2:'+event.target.value)
- }
- render () {
- //var value = this.state.value;
- return (
- <div>
- <Content myDataProp = {this.state.value} updateStateProp = {this.handleChange.bind(this)}></Content>
- <button onClick={this.handleChange2.bind(this)}>点我</button>
- <h4>label:{this.state.label}</h4>
- <CustomTextInput />
- </div>
- )
- }
- };
- class CustomTextInput extends React.Component {
- constructor(props) {
- super(props);
- this.focus = this.focus.bind(this);
- this.name="ssss";
- }
- focus() {
- // Explicitly focus the text input using the raw DOM API
- this.textInput.focus();
- }
- render() {
- // Use the `ref` callback to store a reference to the text input DOM
- // element in an instance field (for example, this.textInput).
- return (
- <div>
- <input type="text" ref={(input) => { this.textInput = input; } } />
- <input type="button" value="Focus the text input" onClick={this.focus} />
- </div>
- )
- }
- }
- ReactDOM.render( <HelloMessage />, document.getElementById('example'));
- //孙子,将下拉选项的值传给爷爷
- class Grandson extends React.Component {
- render() {
- return (
- <div>性别:
- <select onChange={this.props.handleSelect}>
- <option value="男">男</option>
- <option value="女">女</option>
- </select>
- </div>
- )
- }
- };
- //子,将用户输入的姓名传给爹
- //对于孙子的处理函数,父只需用props传下去即可
- class Child extends React.Component {
- //var Child = React.createClass({
- render() {
- return (
- <div>
- 姓名:<input onChange={this.props.handleVal}/>
- <Grandson handleSelect={this.props.handleSelect}/>
- </div>
- )
- }
- };
- //父组件,准备了两个state,username和sex用来接收子孙传过来的值,对应两个函数handleVal和handleSelect
- class Parent extends React.Component {
- constructor(props) {
- super(props);
- this.state={
- username: '',
- sex: ''
- }
- }
- handleVal(event){
- this.setState({username: event.target.value});
- }
- handleSelect(event) {
- this.setState({sex: event.target.value});
- }
- render(){
- return (
- <div>
- <div>用户姓名:{this.state.username}</div>
- <div>用户性别:{this.state.sex}</div>
- <Child handleVal={this.handleVal.bind(this)} handleSelect={this.handleSelect.bind(this)}/>
- </div>
- )
- }
- };
- ReactDOM.render(
- <Parent />,
- document.getElementById('root')
- );
react 父子传值的更多相关文章
- React(7) --react父子组件传参
react父子组件传参 父级向子级传参:在父组件中,我们引入子组件,通过给子组件添加属性,来起到传参的作用,子组件可以通过props获取父组件传过来的参数. 在父组件中: import React f ...
- 10.4 Vue 父子传值
简单示例 APP.vue <template> <div> <img :src="imgSrc"> <!-- 父子传值 --> &l ...
- Vue父子传值
昨天创建完项目以后,今日首先使用项目来做一个简单的导航栏体会一下Vue的使用 1.项目的结构: 2.首先在Vheader.Vue中编辑代码: <template> <header c ...
- day 100天 VUE 父子传值,单页面.
一 .静态资源导入方法 启动服务 npm run serve <template> <div id ="app"> <h3>{{msg}}& ...
- 基于vue-cli,测试非父子传值时,碰到 keep-alive的神奇
非父子传值测试 一直都很好奇非父子传值到底如何,结果入坑许久才爬出来,才知道在脚手架里测试就是坑. 问题: 测试非父子传值时,由于组件之间是通过路由进行跳转,值传过去又被刷掉 思路: 因为路由跳转,相 ...
- React父子组件的一个混淆点
反正我自己是混淆了,React父子组件和组件类的继承弄混在一起了.这两个东西完全是不相关的. 父子组件可以看成两个组件标签的包含关系,在另外一个组件标签的内部就是子组件,父子组件通过这种关系通信. 组 ...
- vue传值(父子传值,非父子传值)
vue组件传值,分为父子传值和非父子传值,父子传值又分为父传子和子传父. 组件之间的传值,实现了数据的联动,是从操作Dom到操作数据一个跳转性的突破,在学习vue双向绑定原理之后, 这种观念就应该继续 ...
- Vue中的父子传值问题
个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 好久没更博了,感觉下班后的时间莫名其妙就没有了,有了,了... 趁着端午放 ...
- Blazor和Vue对比学习(基础1.3):属性和父子传值
组件除了要解决视图层展示.视图层与逻辑层的数据绑定,还需要解决一个重大问题,就是在组件树中实现数据传递,包括了父到子.子到父.祖到孙,以及任意组织之间.而我们上一章讲到的实现双向绑定的两个指令,Vue ...
随机推荐
- python中类的定义方法
# coding =utf-8 ## 类的定义 ##-------------------------------------------------- class Employee: empCoun ...
- linux安装flume及问题
验证是否安装成功: [root@master conf]# /usr/local/src/apache-flume-1.6.0-bin/bin/flume-ng versionError: Could ...
- 「LOJ#103」子串查找 (Hash
题目描述 这是一道模板题. 给定一个字符串 A A A 和一个字符串 B B B,求 B B B 在 A A A 中的出现次数.AAA 和 BBB 中的字符均为英语大写字母或小写字母. A A A 中 ...
- css样式 -- 表格不会因为字体过长导致字体溢出的问题
常常碰到因为表格大小就麽大了,字体过长会爆炸溢出的问题,我们后端就用这个可以了,溢出的可以省略号 ... 代替好了. /* 在表格css样式加上这三个就可以了 效果就会变成 “abc...” */ { ...
- 20个Flutter实例视频教程-第07节: 毛玻璃效果制作
视频地址: https://www.bilibili.com/video/av39709290/?p=7 博客地址: https://jspang.com/post/flutterDemo.html# ...
- 读取MySQL数据表字段信息
TP5句式 $fieldinfo = Db::query('SHOW FULL COLUMNS FROM '.$table);//查出数据表所有字段信息Field 字段Comment 字段注释
- TP5实现签到功能
基于tp5 模型的一个签到功能: 由于存储所有的签到日期数据库会非常庞大,所以签到日期只存储近三个月的. 具体功能: 1.记录最近一次的签到时间 2.每次签到都会添加15积分 3.有连续签到的记录 C ...
- [Offer收割]编程练习赛46
[Offer收割]编程练习赛46赛后题解 A.AEIOU 分析
- 51nod1181【素数筛】
思路: 直接就是筛出素数,然后我很撒比的从那个地方往后for找一个位置也是质数的输出: #include <bits/stdc++.h> using namespace std; type ...
- Telnet 对memcached进行数据操作
连接Telnet 127.0.0.1 11211 存储数据 add news 0 1 8 (news为数据名称,1为存储的时间,当为0的时候则为永久储存,永久缓存最多为30天,8为长度) aaaaaa ...