1.React setState方法回调的写法:

因为js是异步的,所以有时候会用到setState的回调方法,其作用是在setState()执行完后再调用回调方法:

this.setState({
    days: daysLimit
}, () => {
    console.log("可选日期范围是:" + this.state.days);

如果不考虑异步,直接输出this.state.days的话,可能会是修改前的days值。

2.React 修改字体颜色

style期待的是一个js对象,所以才加了2个括号,外层表示是js代码,里层表示是个字典

<span style={{color: '#F00'}}>
this.state.a > this.state.b ? "超出可选择的时间范围" : ""
</span>

3.this相关的一个错误

new Util().generateAnswer().then(function () {  this....  }

像这种如果new 一个对象然后再里面用this的话, 是引用不到代码所在类的对象的,应该是会引用到new Util()这个对象。
组件方法的‘调用者’不同会导致this的不同(这里的 “调用者” 指的是函数执行时的当前对象)

4.设置延时

// 示例:等待5秒后,如果判断成功,则提示
function stateChange(newState) {
    setTimeout(function () {
        if (newState == -1) {
            alert('VIDEO HAS STOPPED');
    }, 5000);}
setTimeout(code,millisec)

code:必需。要调用的函数后要执行的 JavaScript 代码串。
millisec:必需。在执行代码前需等待的毫秒数。

5.promise.then(onCompleted, onRejected) 方法

let p1 = new Promise(function(resolve, reject) {
  resolve("Success!"); // 成功
  // or
  // reject ("Error!");  // 拒绝
p1.then(function(value) {
  console.log(value); // Success!
}, function(reason) {
  console.log(reason); // Error!

参数:
promise
必需:Promise 对象。
onCompleted
必需:承诺成功完成时要运行的履行处理程序函数。
onRejected
可选:承诺被拒绝时要运行的错误处理程序函数。
中文官方文档链接:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

6.always()方法(deferred.always())

deferred.always(alwaysCallbacks [, alwaysCallbacks ] ) :不管这个请求成功或者失败都会调用参数里的方法
参数alwaysCallbacks
描述:Function类型 一个函数或者函数数组,当Deferred(延迟)对象得到解决或被拒绝时被调用
后一个alwaysCallbacks:
可选。Function类型 一个函数或者函数数组,当Deferred(延迟)对象得到解决或被拒绝时被调用

7.为什么函数 要绑定到this上(为什么要bind(this))

this.handleClick = this,handleClick.bind(this)

因为类的方法默认是不会绑定 this 的。如果你忘记绑定 this.handleClick 并把它传入 onClick, 当你调用这个函数的时候 this 的值会是 undefined。

8.调用父组件的onChange()方法:

this.props.onChange(event, this.props.label);

9.所有的React组件必须像纯函数那样使用它们的props。

纯函数: 它没有改变它自己的输入值,当传入的值相同时,总是会返回相同的结果。
function sum(a, b) { return a + b; }

10.React的大括号内可以嵌入任何JavaScript代码(不知道这么说准确吗?):

<Select style={{'min-width': '110px'}} />

11.通过三目表达式来改变样式,看起来代码更简洁:

<li id="Tab" className={this.state.Tab == 'mytab' ? "active" : null}>啦啦啦</li>
                    1.React setState方法回调的写法:因为js是异步的,所以有时候会用到setState的回调方法,其作用是在setState()执行完后再调用回调方法:this.setState({    days: daysLimit}, () =&gt; {    console.log("可选日期范围是:" + this.state.days);});如果不考虑异步,直接输出th...
				
使用setState修改state的值时,React.js并不会马上修改state。而是把这个对象放到一个更新队列里面,稍后才会从队列当中把新的状态提取出来合并到 state 当中,然后再触发组件更新。 但是有的时候就想立马看到state修改后的值,这就用到了setState回调: this.state = { value: '1' this.setState({
一般来说,React中只有通过setState方法才能改变页面初始时设置的state状态,并对页面进行从新渲染。其中,对页面的一些参数进行修改的时候,也可以使用setState回调函数。setState(updater[, callback]) 0.初始状态 this.state = { test: 'test' 1.不使用回调函数 this.setState({...
react setState延迟执行不立即更新总结 this.setState((prevState,props)) 1.语法:setState()可以接收一个函数,这个函数接受两个参数,第一个参数表示上一个状态值,第二个参数表示当前的props。 2.setState()方法更类似一种请求而非一种立即更新组件的强制性命令, 为了更好地性能与某些情况(比如正在输入文本框页面因为来一条消息直接将文本框内容重新渲染了) React会延迟调用它,不会保证state的变更会即刻执行,而是会批量推迟更新。 3.何时同
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 在日常得开发需求中 当react中state得值发生变化 需要即刻用到该值得时候 setstate({},callback) 可以在回调函数中立即处理之后得一个逻辑 this.setState({},() => {}) .....
首先调用setState()函数: ReactComponent.prototype.setState = function(partialState, callback){ // updater:一个带有形参的函数,返回被更新的状态对象。它可以接收到props和state this.updater.enqueueSetState(this, partialState) if(callback){
使用React过程中,中可以使用this.state来访问需要的某些状态,但是需要更新或者修改state时,一般而言,我们都会使用setState()函数,从而达到更新state的目的,setState()函数执行会触发页面重新渲染UI。但是呢,setState是异步的!这就难受。 1. 语法: setState(updater[, callback]) // 复制代码updater是要改变...
一、为什么要使用 setState 方法,如何用? 在 React 中,组件分为 有状态组件 和 无状态组件,有状态组件就是能够定义 state 的组件,比如类组件,无状态组件反之,比如函数组件。state 就是用来描述事物在某时刻的数据,可以被改变,改变后与视图相映射,用来保存数据和响应视图。 虽然状态可以改变,但不是响应式的,动态改变并没有与视图响应,想要改变并响应视图则需要 setState 修改并更新视图。 使用方法:this.setState...
本文在简书同步更新:https://www.jianshu.com/p/2df7c6e3b3c3 React Native的fetch请求本身自带的超时时间比较长,也不能自定义超时时间,除非修改源码(Android底层是由OkHttp实现)。在实际的App网络连接当中,用户是接受不了那么长的网络超时的,所以我们得自己封装一个。在这里我们可以合理使用Promise来解决这个问题。 一、Promi...
java.net.SocketTimeoutException: failed to connect to /10.0..2.2 (port 8080) after 10000ms 68217
java.net.SocketTimeoutException: failed to connect to /10.0..2.2 (port 8080) after 10000ms Trouble Maker_chen: spring boot 启动报错 Unable to start embedded Tomcat qijingpei: 嗯可能引起问题的原因多种多样,老哥解决了的话可以贴一下你那边的解决方式表情包,前人栽树后人乘凉