-2
反応し、私は次のようにページを反応させてきたし、カウンタを使用している場合キャッチされない例外TypeError:プロパティを読み取ることができません「SETSTATE」ヌルのは
Uncaught TypeError: Cannot read property 'setState' of null
を取得しています。 私がちょうど古いスタイルの関数にincrement
を変更し、それが動作しませんでした
<!DOCTYPE html>
<html>
<head>
<title>counter</title>
<script src="https://unpkg.com/[email protected]/dist/react.js"></script>
<script src="https://unpkg.com/[email protected]/dist/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-router/4.0.0-beta.3/react-router.min.js"></script>
<head>
<body>
<div id="entry"></div>
<script type="text/babel">
var destination = document.querySelector("#entry");
class Counter extends React.Component {
constructor() {
super();
this.state = { value: 0};
}
increment(){
this.setState(function(prevState){
value: prevState.value + 1
});
};
decrement(){
this.setState(prevState => ({
value: prevState.value - 1
}));
};
render() {
return (
<div>
{this.state.value}
<button onClick={this.increment}>+</button>
<button onClick={this.decrement}>-</button>
</div>
)
}
}
ReactDOM.render(
<div>
<Counter/>
</div>,
destination
)
</script>
</body>
</html>
SETSTATE
で使用this
としなければならないようです。
がhttp://blog.andrewray.me/を読ん推奨すっきりと思われます反応-es6-autobinding-and-createclass/ –
「[nullのReact.js、Modal、Bootstrap]のプロパティ 'setState'を読み取ることができません](http://stackoverflow.com/questions/40694468/cannot-read-property -setstate-of-null-react-js-modal-bootstrap) – Pineda