Issue 1:
Website or app

It's empty project creating with 'react-native init'

Repro steps

Start rn app in debug mode

How often does this bug happen?

Every time

DevTools package (automated)

react-devtools-core

DevTools version (automated)

4.14.0-d0ec283819

Error message (automated)

Cannot add node "1" because a node with that id is already in the Store.

Error call stack (automated)

at /Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:48:140545
at c.emit (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:48:89515)
at /Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:48:90986
at /Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:48:347787
at Array.forEach (<anonymous>)
at S.Gc.e.onmessage (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:48:347771)
at S.n (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:40:3009)
at S.emit (events.js:315:20)
at e.exports.P (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:8:9318)
at e.exports.emit (events.js:315:20)
at e.exports.dataMessage (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:8:15409)
at e.exports.getData (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:8:14651)
at e.exports.startLoop (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:8:12066)
at e.exports._write (/Applications/React Native Debugger.app/Contents/Resources/app.asar/node_modules/react-devtools-core/dist/standalone.js:8:11421)
at doWrite (_stream_writable.js:403:12)
at writeOrBuffer (_stream_writable.js:387:5)

Error component stack (automated)

No response

GitHub query string (automated)

https://api.github.com/search/issues?q=Cannot add node because a node with that id is already in the Store. in:title is:issue is:open is:public label:"Component: Developer Tools" repo:facebook/react

Issue 2:
The following code generates two <button>'s and an <input> field whose type changes respective to the type of button clicked (or dependent on the component state).

So, if my rendered field is type number and it has the value 42 and I tap the <button> to change the field type to text with new value hello world!, react tries to set <input type='number' />'s value to 'hello world!' before changing field type to text, which generates a warning in the console as show below:

The value definitely set's once the type changes, which is after the value, however the warning is generated.

The code is below:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>React Re-Render Warning Example</title>
<link rel="stylesheet" href="../shared/css/base.css" />
</head>
<body>
<h1>React Re-Render Warning Example</h1>
<div id="container">
Loading...
</div>
<script src="../../build/react.js"></script>
<script src="../../build/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.min.js"></script>
<script type="text/babel">
var InnerApp = React.createClass({
getInitialState: function() {
return {
type: '',
val: ''
}
},

componentWillMount: function() {
this.setState({
type: this.props.type,
val: this.props.val
});
},

componentWillReceiveProps: function(nextProps) {
this.setState({
type: nextProps.type,
val: nextProps.val
});
},

onChange: function(event) {
this.setState({
val: event.target.value
})
},

render: function() {
var renderInput;
if (this.state.type === 'text') {
renderInput = (<input type='text' value={this.state.val} onChange={this.onChange} />);
} else {
renderInput = (<input type='number' value={this.state.val} onChange={this.onChange} />);
}

return (
<div>
{renderInput}
</div>
);
}
});

var App = React.createClass({
getInitialState: function() {
return {
type: 'text',
val: ''
}
},

changeType: function(itype) {
this.setState({
type: itype,
val: itype === 'text' ? 'randomstring' : 32
});
},

render: function() {
return (
<div>
<button onClick={this.changeType.bind(null, 'text')}>Text</button>
<button onClick={this.changeType.bind(null, 'number')}>Number</button>
<InnerApp val={this.state.val} type={this.state.type} />
</div>
);
}
});

ReactDOM.render(<App />, document.getElementById('container'));
</script>
</body>
</html>