相关疑难解决方法(0)

React中的状态和道具有什么区别?

我正在观看关于React的Pluralsight课程,导师说道具不应该改变.我现在正在阅读一篇关于道具与状态的文章(uberVU/react-guide),它说

道具和状态更改都会触发渲染更新.

在文章的后面它说:

道具(属性的简称)是组件的配置,如果可以的话,它的选项.他们是从上面收到的,不可改变的.

  • 道具可以改变,但它们应该是不可改变的?
  • 什么时候应该使用道具?什么时候应该使用状态?
  • 如果你有React组件需要的数据,它应该通过道具或React组件中的设置通过getInitialState吗?

javascript reactjs

493
推荐指数
11
解决办法
17万
查看次数

在变量声明中反应大括号

我最近遵循了一个反应教程来创建一个模板项目,并且一直在修改代码以满足我的需求.特别是,组件上有一段代码传递了一个名为的参数label.

render() {
  const { label } = this.props;
  ...
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,我从控制器返回了一个JSON对象,并使用名为的参数将其传递给此组件rune.runeJSON 的属性是"name",我想将名称赋给名为`label的变量.给我带来麻烦的一件事是:

render() {
  console.log("Prop.runes.name: " + this.props.rune.name);
  const { label } = this.props.rune.name;
  console.log("Label: " + label);
  ...
}
Run Code Online (Sandbox Code Playgroud)

第一个console.log(...)正确输出名称.但是,第二个日志未定义.经过一些试验和错误后,我发现如果我从const声明中删除花括号,则名称已正确解析.

render() {
  const label = this.props.rune.name;
  ...
}
Run Code Online (Sandbox Code Playgroud)

最初做的花括号是什么?教程最初有这些原因是否有原因?

javascript reactjs

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

标签 统计

javascript ×2

reactjs ×2