JSFiddle - React, Tailwind, and code Playground
HTML
<div id="example"></div>
JavaScript
/**
* @jsx React.DOM
*/
var Friend = React.createClass({
render: function () {
return(
<div className="friend">
{this.props.name}
<a href="" onClick={this.props.select(this.props.key)}>select</a>
</div>)
}
})
var FriendBox = React.createClass({
render: function () {
var allFriends = this.props.friends.map((function (f) {
return(
<Friend
key = {f.id}
name = {f.name}
select = {this.props.select}
/>)
}).bind(this))
return (
<div className="Friendbox">
<div className="addFriend">
<a href="" onClick={this.props.add} > Add a friend</a>
</div>
<div className="friendsContainer">
{allFriends}
</div>
</div> )
}
})
var MainFrame = React.createClass({
componentWillMount: function () {
this.setState({friends: [
{id: 1, name: "maria"},
{id: 2, name: "pepe"}
], groups: [
{id: 1, name: "kyte"}
], selected: [
{id: 1, name: "maria"}
]})
},
sendToFriendH: function (id) {
var _state = this.state;
alert("before change is" + JSON.stringify(_state))
var selected = _state.friends.filter(function (obj) {
return (obj.id == id)
});
_state.selected.push(selected);
alert("after is" + JSON.stringify(_state));
return (this.setState(_state))
},
removeFriendH: function (id) {
var _state = this.state
_state.friends = _state.filter(function (obj) {
return !(obj.id == id)
});
this.setState(_state)
},
addFriendH: function () {
...