React Base Fiddle (JSX)
Starting point for creating JSFiddles with React. This uses React with Addons.
by Minjun Kim
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://fb.me/react-with-addons-0.14.6.js"></script>
<script src="https://fb.me/react-dom-0.14.6.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
JavaScript 1.7
class App extends React.Component {
render(){
return (
<Contacts/>
);
}
}
class Contacts extends React.Component {
constructor(props) {
super(props);
this.state = {
contactData: [
{name: "Abet", phone: "010-0000-0001"},
{name: "Betty", phone: "010-0000-0002"},
{name: "Charlie", phone: "010-0000-0003"},
{name: "David", phone: "010-0000-0004"}
],
selectedKey: -1,
selected: {
name: "",
phone: ""
}
};
}
_insertContact(name, phone){
let newState = React.addons.update(this.state, {
contactData: {
$push: [{"name": name, "phone": phone}]
}
});
this.setState(newState);
}
_onSelect(key){
if(key==this.state.selectedKey){
console.log("key select cancelled");
this.setState({
selectedKey: -1,
selected: {
name: "",
phone: ""
}
});
return;
}
this.setState({
selectedKey: key,
selected: this.state.contactData[key]
});
console.log(key + " is selected");
}
_isSelected(key){
if(this.state.selectedKey == key){
return true;
}else{
return false;
}
}
_removeContact(){
if(this.state.selectedKey==-1){
console.log("contact not selected");
return;
}
this.setState({
contactData: React.addons.update(
this.state.contactData,
{
$splice: [[this.state.selectedKey, 1]]
}
),
selectedKey: -1
});
}
_editContact(name, phone){
this.setState({
...