我试图将我的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)
这是正确的方法吗?因为我不能让它工作;-(
我正在构建一个基本应用程序(使用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) 如果我想在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 中的什么方法(或方法的组合)将迭代数组的元素,并且除了对数组元素进行操作之外,还允许我使用当前元素的索引号?
在 ruby 中,这相当于这样的事情:
array.each_with_index{ |element,index| element.method(index) }
Run Code Online (Sandbox Code Playgroud) 我有典型的组织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中执行此操作?
这是我用来改变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)
如何在页面加载实例上更改此文本
两者有什么区别:
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(精通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) 我有一个看起来像这样的对象:
{
"id": "123",
"members": [
{ "id": 1, "name": "Andrew" },
{ "id": 2, "name": "Jim" }
]
}
Run Code Online (Sandbox Code Playgroud)
我想要一个返回成员名称字符串的方法:"Andrew, Jim".
与迭代成员列表并将它们添加到数组相反,有没有办法在一行中干净地完成这个(也许是underscore.js)?
我有一个父组件,它将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返回未定义。为什么是这样?我需要能够访问父组件上下文。