小编Cas*_*Lim的帖子

在 Chrome 控制台中模拟用户点击

为什么我不能在浏览器中使用 chrome 的控制台触发或模拟用户点击?就像我在页面上有一个链接一样,我$('#app .mylink').click()应该去某个地方。

javascript google-chrome ecmascript-6

6
推荐指数
1
解决办法
2万
查看次数

在类之外的函数或变量

我正在探索反应,并且看到了这段代码。

const renderLine = (user, key) => <li key={key}><b>{key}</b>: {user[key]}</li>

export default class App extends Component {
  ...
  ...
  render () {
    return (
      <div className='App'>
          {Object.keys(user).map(key => renderLine(user, key))}
      </div>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

为什么renderLine在App类之外?这种模式的意图是什么?通常我会放在一个类中并像this.renderLine()

javascript ecmascript-6 reactjs

6
推荐指数
1
解决办法
5749
查看次数

没有构造函数在类的体内声明状态

我在某处看到了下面的代码,我很好奇.看起来很干净,但对我来说很不寻常 为什么state = {}声明没有构造函数?

load声明没有函数关键字?据我所知,有一些方法可以编写函数

function async load() {} 要么 const async load = ()=>{}

什么...args呢?它传播了arguments吗?

import View from './View';
import loadData from './loadData';
export default class extends Component {
  state = {};
  load = this.load.bind(this);
  async load(...args) {
    try {
      this.setState({ loading: true, error: false });
      const data = await loadData(...args);
      this.setState({ loading: false, data });
    } catch (ex) {
      this.setState({ loading: false, error: true });
    }
  }
  render() {
    return …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

5
推荐指数
1
解决办法
1113
查看次数

数组的forEach和setState

我打印我现有的状态,例如console.log(this.state)

{'abc-sorted':false, 'def-sorted': 'asc', 'someotherstuff-sorted': true, show: true}

我想做的是将所有状态都设置为以“ -sorted”状态键结尾的状态,我该怎么办?

我做了这个“丑陋”的事情。

Object.keys(this.state).filter(o=>{
                return o.endsWith('sorted') 
            }).forEach(o2 => {
                this.setState({
                    [o2]: false
                })
            })
Run Code Online (Sandbox Code Playgroud)

还有其他选择吗?这导致了不必要的渲染。

javascript reactjs

0
推荐指数
1
解决办法
2657
查看次数

标签 统计

javascript ×4

ecmascript-6 ×3

reactjs ×3

google-chrome ×1