我已经阅读了关于构造函数方法的React Docs以及它可以用于设置状态和绑定函数的内容,但在大多数情况下它是否真的有必要?
这样做有什么区别
export default class MyClass extends Component {
constructor(props) {
super(props);
this.state = {
foo: 'bar',
};
this.member = 'member';
this.someFunction = this.anotherFunction(num);
}
anotherFunction = (num) => num * 2;
render() {
// render jsx here
}
}
Run Code Online (Sandbox Code Playgroud)
并简单地把所有的东西放在构造函数之外
export default class MyClass extends Component {
state = {
foo: 'bar',
};
member = 'member';
someFunction = this.anotherFunction(num);
anotherFunction = (num) => num * 2;
render() {
// render jsx here
}
}
Run Code Online (Sandbox Code Playgroud)
一种选择是否优先于另一种选择,是否存在我应该了解的任何性能问题?这一直困扰着我,我似乎无法找到具体的答案.
我只是想在Angular中链接我的"GameController",它不断吐出上面的错误.还没有把任何东西放在范围内,但我不确定我的控制器有什么问题.有什么建议?这是一个基本的Tic Tac Toe游戏.
JS:
// module
var xoxoApp = angular.module('xoxoApp', []);
// defines controller
xoxoApp.controller('GameController', function ($scope) {
$scope.boxes = []
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<!DOCTYPE html>
<html ng-app="xoxoApp">
<head>
<link rel="stylesheet" type="text/css" href="xoxo.css">
<script src="angular.min.js"></script>
<script src="xoxo.js" type="text/javascript"></script>
<title>Tic Tac Toe</title>
</head>
<body>
<div ng-controller="GameContoller">
<div id="container">
<div class= "squares" id="box1" onclick="clickBox('box1')"></div>
<div class= "squares" id="box2" onclick="clickBox('box2')"></div>
<div class= "squares" id="box3" onclick="clickBox('box3')"></div>
<div class= "squares" id="box4" onclick="clickBox('box4')"></div>
<div class= "squares" id="box5" onclick="clickBox('box5')"></div>
<div class= "squares" id="box6" onclick="clickBox('box6')"></div>
<div class= "squares" id="box7" …Run Code Online (Sandbox Code Playgroud)