小编abu*_*mam的帖子

在构造函数中定义状态或使用属性初始值设定项更好吗?

根据这个 babel文档,使用ES6 +与React的正确方法是初始组件,如下所示:

class Video extends React.Component {
  static defaultProps = {
    autoPlay: false,
    maxLoops: 10,
  }
  static propTypes = {
    autoPlay: React.PropTypes.bool.isRequired,
    maxLoops: React.PropTypes.number.isRequired,
    posterFrameSrc: React.PropTypes.string.isRequired,
    videoSrc: React.PropTypes.string.isRequired,
  }
  state = {
    loopsRemaining: this.props.maxLoops,
  }
}
Run Code Online (Sandbox Code Playgroud)

但是一些官方的例子,比如Dan Abramov自己的React DnD模块,使用ES6 +,但仍然在构造函数中定义状态:

constructor(props) {
    super(props);
    this.moveCard = this.moveCard.bind(this);
    this.state = {
       // state stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,作为React的重要贡献者的Dan Abramov可能知道他可以在构造函数之外定义状态,但仍然选择在构造函数中执行它.

所以我只是想知道哪种方式更好,为什么?

reactjs ecmascript-next

53
推荐指数
2
解决办法
1万
查看次数

导出const箭头功能还是基本功能?

哪个更好:导出const箭头函数,如下所示:

export const foo = () => 'bar'
Run Code Online (Sandbox Code Playgroud)

或导出常规函数,如下所示:

export function baz() {
  return 'bar';
}
Run Code Online (Sandbox Code Playgroud)

他们编译如下:

exports.baz = baz;
function baz() {
  return 'bar';
}
var foo = exports.foo = function foo() {
  return 'bar';
};
Run Code Online (Sandbox Code Playgroud)

看起来使用const /箭头函数组合声明了一个额外的变量(foo),这似乎是简单函数声明的一个不必要的额外步骤.

ecmascript-6 babeljs

20
推荐指数
1
解决办法
8447
查看次数

导入启动引导主题

我想在我刚刚创建的Rails项目中导入Start Bootstrap主题.它是一个完整的网站主题,因此它附带HTML页面以及资源(字体,CSS,JS文件).

我猜测资产进入资产管道(资产/*),但我如何处理主题附带的bootstrap.css文件?由于我安装了bootstrap gem,我认为将引导文件放入资产管道对我来说是多余的.

另外,HTML页面会去哪里?

非常感谢!

css themes ruby-on-rails twitter-bootstrap

4
推荐指数
1
解决办法
2849
查看次数

网站没有加载jQuery

我是一个新的Web开发人员,并在理查德Bovell在建议JavaScript是性感,我决定通过制作......好吧,测试,测试自己的技能!

我做了基本的HTML,并且我编写了一个函数来显示任何给定的问题,它在JSFiddle中完美运行.

然而,当我使用PHPStorm(用我的浏览器运行它)测试它时,似乎JavaScript/jQuery没有加载.

事实上,当我使用Chrome的错误控制台时,jQuery.min说"无法加载资源".

我在我的源代码中使用此代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

我也试过使用这个来源:

<script type='text/javascript' src='//code.jquery.com/jquery-1.10.1.js'></script>

但也没有加载资源.

因此,我的整个JavaScript代码都不起作用,因为它是基于jQuery的.

如果我将链接加载到我的Web浏览器中它完全正常,所以它看起来不像网络错误.

编辑:

这是我的小提琴:http://jsfiddle.net/abustamam/3CY7g/

错误如下:

Uncaught ReferenceError: $ is not defined script.js:2 (anonymous function) script.js:2 Failed to load resource file://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js

任何人都可以给我一些指示,为什么jQuery没有加载?谢谢!

编辑2:得到了答案.http:是必需的!谢谢!

html javascript jquery

0
推荐指数
1
解决办法
985
查看次数