小编Ale*_* T.的帖子

在构造函数中进行React绑定,如何将参数传递给props

我试图将我的React类转换为ES6,但是我在这个过程中遇到了一些困难.我想在构造函数中创建绑定,而不是在渲染视图中.

现在,如果我有一个带有setState的根模块,需要一个参数,例如:

constructor() {
    super();

    this.state = {
        mood: ""
    };

    this.updateMood(value) = this.updateMood.bind(this,value);
}

updateMood(value) {
    this.setState({mood: value});
}
Run Code Online (Sandbox Code Playgroud)

然后我将此函数传递给组件:

<customElement updateMood={this.updateMood}></customElement>
Run Code Online (Sandbox Code Playgroud)

然后在customElement模块中,我有这样的事情:

constructor() {
    super();
}

update(e) {
    this.props.updateMood(e.target.value);
}
Run Code Online (Sandbox Code Playgroud)

在渲染中:

<input onChange={this.update} />
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?因为我不能让它工作;-(

javascript reactjs

9
推荐指数
1
解决办法
7952
查看次数

"解析工厂中声明的数组时,无法读取未定义的属性'id'

我正在构建一个基本应用程序(使用MEAN Web框架和节点webkit),以便更好地理解angularjs.

这是我的内容 notificationFactory.js

function notificationFactory() {

    var fooMessages = [

        {
            id: 4,
            dismissable: true,
            name: "fooooBaaar",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: 'fooIconBarBarBar',
            topBarIcon: 'fooIconIconIcon'
        },

        {
            id: 3,
            dismissable: true,
            name: "foofooBarBar",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: 'fooIconfooIcon',
            topBarIcon: 'IconIconIcon'
        },

        {
            id: 2,
            dismissable: true,
            name: "foo foo",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: 'fooBaaaaaar',
            topBarIcon: 'IconFooIcon'
        },

        {
            id: 1,
            dismissable: true,
            name: "foo",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery angularjs angularjs-scope

7
推荐指数
1
解决办法
4万
查看次数

nodejs中的C scanf等价物

如果我想在C中写入输入流scanf,那么,NodeJS中是否有相同的方法来做同样的事情?

例如,这是C中的代码

int n,
    m,
    i;

scanf("%d", &n);

for (i = 0; i < n; i++) {
    scanf("%d", &m);

    ............

}
Run Code Online (Sandbox Code Playgroud)

这是我从Node开始的地方...... TODO表示我被困在哪里:

process.stdin.resume();
process.stdin.setEncoding("ascii");

process.stdin.on("data", function (input) {
    var n = +input;
    for (var i = 0; i < n; i++) {
        // TODO
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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

Ruby 的 .each_with_index 的 JS 版本

Javascript 中的什么方法(或方法的组合)将迭代数组的元素,并且除了对数组元素进行操作之外,还允许我使用当前元素的索引号?

在 ruby​​ 中,这相当于这样的事情:

array.each_with_index{ |element,index| element.method(index) }
Run Code Online (Sandbox Code Playgroud)

javascript ruby arrays iteration indexing

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

在javascript中将数组转换为嵌套对象

我有典型的组织hierarchy.例如.

D,E is reporting to B. B,C is reporting to A.
Run Code Online (Sandbox Code Playgroud)

A是最顶级的节点.但是我将这些数据作为一个平面数组接收,其属性指向父级.

    [{
      name: "A",
      parent: null
    },
    {
      name: "B",
      parent: "A"
    },
    {
      name: "C",
      parent: "A"
    },
    {
      name: "D",
      parent: "B"
    },
    {
      name: "E",
      parent: "B"
    }]
Run Code Online (Sandbox Code Playgroud)

但是我希望将其转换为single nested object或者tree.根节点具有子属性,其中嵌入了子节点,并且每个子节点都有自己的子属性,如下所示.

    {
      name: "A",
      children: [{
        name: "C"
        children: [{
          name: "D"
        },{
          name: "E"
        }]
      },{
        name: "C"
      }]
    }
Run Code Online (Sandbox Code Playgroud)

如何有效地在javascript中执行此操作?

javascript arrays tree node.js

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

如何使用javascript按类名更改html元素的值

这是我用来改变html元素值的代码***

<a class="classname" href="Vtech.com"> This text to be chnage</a>
Run Code Online (Sandbox Code Playgroud)
<script type="text/javascript">
document.getElementsByClassName("classname")[0].innerHTML = "aaaaaaqwerty";
</script>
Run Code Online (Sandbox Code Playgroud)

如何在页面加载实例上更改此文本

javascript anchor jquery class innerhtml

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

let import React from 'react/addons' 和 import { PropTypes } from 'react/addons' 的区别

两者有什么区别:

import React from 'react/addons';
let {PropTypes} = React;
Run Code Online (Sandbox Code Playgroud)

对比

import React, { PropTypes } from 'react/addons';
Run Code Online (Sandbox Code Playgroud)

是否有任何我们应该遵循的适当约定?

reactjs

3
推荐指数
1
解决办法
1481
查看次数

了解ReactJS中的this.method.bind(null,...)吗?

我正在通过示例学习ReactJS(精通React)。在重新创建示例时,我对一些陈述一无所知,希望能有所帮助。

小提琴:组成组件

第一

...
//Why are we passing null in update.bind(...)?
//Is null here equivalent to 'this'?

<TextBox label='First Name' update={this.update.bind(null,'firstName')}></TextBox>
...
Run Code Online (Sandbox Code Playgroud)

第二

更新方法需要键和值(下面的方法定义)

...
    update: function(key, value) {
            var newState = {};
            newState[key] = value;
            this.setState(newState);

            //this.setState({[k]:v});
        },
...
Run Code Online (Sandbox Code Playgroud)

但是,当使用单个参数调用它时,正确的密钥将更新为正确的值。

//Aren't we supposed to pass two parameters?  
this.props.update(this.refs.newText.value);
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

3
推荐指数
1
解决办法
603
查看次数

返回对象数组的逗号分隔值的简单方法

我有一个看起来像这样的对象:

{
  "id": "123",
   "members": [
     { "id": 1, "name": "Andrew" },
     { "id": 2, "name": "Jim" }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我想要一个返回成员名称字符串的方法:"Andrew, Jim".

与迭代成员列表并将它们添加到数组相反,有没有办法在一行中干净地完成这个(也许是underscore.js)?

javascript arrays

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

从子组件调用时,父组件中的上下文丢失

我有一个父组件,它将onSomeActionprop 提供给子组件:

export default class myComponent extends Component {

    constructor(props) {
        super(props);
    }

    render() {
        return (
           <div className="mycomponent">
             <ChildComponent onSomeAction={this.doSomething} />
           </div>
        )
    }

    doSomething() {
        console.log(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

在子组件中,当单击某些内容时,我将调用一个方法,该方法依次调用该onSomeAction道具:

export default class ChildComponent extends Component {
    render() {
        return (
           <div className="">
             <a onClick={() => this.doIt()}>doIt</a>
           </div>
        )
    }

    doIt() {
        const { onSomeAction } = this.props;
        onSomeAction();
    }
}
Run Code Online (Sandbox Code Playgroud)

我看到的问题是回到父组件中, this 上下文似乎已经丢失 -方法console.log中doSomething返回未定义。为什么是这样?我需要能够访问父组件上下文。

ecmascript-6 reactjs

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