小编Nat*_*lie的帖子

super()做什么没有任何参数?

我正在学习文档的反应,但不确定super()这个例子中的作用.通常,是否需要传递给生成新实例的参数,然后调用React.Component的构造函数方法将这些参数合并到实例中?没有任何争论,它会做什么?

class LikeButton extends React.Component {
  constructor() {
    super();
    this.state = {
      liked: false
    };
    this.handleClick = this.handleClick.bind(this);
  }
  handleClick() {
    this.setState({liked: !this.state.liked});
  }
  render() {
    const text = this.state.liked ? 'liked' : 'haven\'t liked';
    return (
      <div onClick={this.handleClick}>
        You {text} this. Click to toggle.
      </div>
    );
  }
}

ReactDOM.render(
  <LikeButton />,
  document.getElementById('example')
);
Run Code Online (Sandbox Code Playgroud)

javascript super ecmascript-6 reactjs

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

git分支-M main中的-M是什么意思?

GitHub 表示输入git branch -M main作为在命令行上创建新存储库的步骤。是什么-M意思?

git

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

调用vs调用函数

到目前为止,我认为"调用"和"调用"函数意味着同样的事情.但是,在YouTube教程中,它说通过调用它来调用函数.我的第一个想法是措辞是错误的,但在W3Schools的函数调用页面上,它说:

通常使用术语"调用函数"而不是"调用函数"...在本教程中,我们将使用invoke,因为可以在不调用的情况下调用JavaScript函数.

好的,所以有区别.它是什么?

javascript

24
推荐指数
3
解决办法
5318
查看次数

为什么 flex 给 hr 元素宽度为 0?

当我尝试将一个hr元素放入带有 的容器中时display: flex,它消失了。(如果我删除display: flex,它会重新出现,所以我相信这就是原因。)

我在一篇博客文章中读到flex 导致hr宽度为零,我通过给它 100% 的宽度(使其重新出现)确认了这一点,但没有给出任何解释。

出于好奇(我只是把hrflex容器放在外面来解决问题),为什么会出现这种情况?使用 flexbox 也会导致其他随机元素消失吗?

我不认为我的代码中的其他东西会导致这种情况,但这里是我的完整代码,以防万一:

* {
  /* Makes width and height include padding, border */
  box-sizing: border-box;
}

body {
  font-family: "Quicksand", sans-serif;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #2d3c49;
  text-transform: uppercase;
}

h1 {
  font-weight: 200;
  /* Browsers typically display h1 as 2em */
  font-size: 2.6em;
  margin-bottom: 0;
}


/* Adds a bit of …
Run Code Online (Sandbox Code Playgroud)

html css flexbox

11
推荐指数
2
解决办法
2153
查看次数

删除默认焦点轮廓并更改为不同的颜色

我想从我的联系框中删除蓝色轮廓(颜色与我页面上的其他颜色冲突)。我尝试了很多关于 SO 问题的建议但无济于事,并在 Chrome 和 Firefox 上得到了相同的结果。

这是我尝试过的:

input:focus, button:focus, textarea:focus, textarea:focus, input:active, button:active, textarea:active, input:active, input, textarea, button {
  outline-style: none !important;
  outline: none !important;
  outline: 0 !important;
  border: 1px solid #17a2b8; /* Turquoise color */
}
Run Code Online (Sandbox Code Playgroud)

结果:

结果

css twitter-bootstrap bootstrap-4

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

node_modules 中 .bin 目录的用途?什么是二进制文件?

里面的.bin目录的目的是什么node_modules

另一个问题中,回答者说:

“它是您的节点模块中的二进制文件(可执行文件)所在的位置。”

另外有人可以向我解释以下内容:什么是二进制文件/可执行文件

任何帮助将不胜感激!

cpu-architecture node.js npm node-modules

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

git log的意思--onon --graph输出

我正在学习相对提交引用并尝试理解git log --oneline --graph课程中提供的以下输出.

git图

在课程中它说,给定HEAD指向9ec05ca提交,HEAD ^^^(意思是曾祖父母提交)是0c5975a提交.但在我看来4c9749e,如果每个SHA都是下面的SHA的直接后代,那么我应该是伟大的祖父母.任何澄清都表示赞赏.

git git-log

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

HEAD~4 ^ 2的含义

在一篇涉及相对提交引用的Udacity课程中,它说:

^表示父提交,〜表示第一个父提交

^和〜之间的主要区别在于从合并创建提交时.合并提交有两个父母.使用合并提交时,^引用用于指示提交的第一个父级,而^ 2用于指示第二个父级.第一个父项是运行git merge时所在的分支,而第二个父项是合并的分支.

根据课程,基于以下输出git log --graph --oneline,SHA的提交f69811cHEAD~4^2相对于(最顶部,带头指针)提交9ec05ca.

所以HEAD~4本身意味着第一个父母,而^ 2意味着它也是第二个父母?这些东西不要相互矛盾吗?任何澄清都表示赞赏.

图形

git git-log

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

这是时间死区的工作原理吗?

我一直试图弄清楚时间死区/解析letconst工作方式.这就是它似乎归结为(基于我在以前的问题中收到的文档和各种回答[例如这个这个 ],尽管这与一些答案存在分歧).这个摘要是正确的吗?

在作用域的顶部,JS引擎let foo;在相关作用域的顶部创建一个绑定(变量关键字和名称的关联,例如),这被认为是提升变量,但如果您尝试之前访问该变量它的声明的位置,JS抛出一个ReferenceError.

一旦JS引擎向下移动到声明(与"定义"同义),例如,let foo;引擎就会初始化它(为它分配内存并使其可访问).声明具有自我约束力.(这是对我来说没有意义的部分:绑定导致顶部的提升,但引擎不会初始化,直到它到达声明,这也有绑定效果.)如果没有赋值,变量的值设置为or undefined的情况let,如果const使用,SyntaxError则抛出a.

这里是参考规格说的:

ECMAScript 2019语言规范草案:第13.3.1节,Let和Const声明

let和const声明定义了作用于正在运行的执行上下文的LexicalEnvironment的变量.变量是在实例化包含词法环境时创建的,但在评估变量的LexicalBinding之前可能无法以任何方式访问它们.当LexicalBinding被评估时,由LexicalBinding和Initializer定义的变量被赋予其Initializer的AssignmentExpression的值,而不是在创建变量时.如果let声明中的LexicalBinding没有Initializer,则在评估LexicalBinding时,会为变量赋值undefined.

MDN Web Docs:让我们

让绑定在包含声明的(块)范围的顶部创建,通常称为"提升".与使用var声明的变量(将以未定义的值开头)不同,在定义其定义之前,不会初始化变量.在初始化之前访问变量会导致ReferenceError.变量在块的开始处于"临时死区",直到处理初始化为止.

javascript

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

带有 vue-uuid 的 v-for 键的 uuid?

我正在尝试使用带有vue-uuid的随机字符串 (UUID v4)来表示当前项目和将来添加到列表中的项目(这是一个待办事项列表类型的应用程序),但我不确定要纠正什么语法是。

我安装了它并将其添加到我在 main.js 中的项目中:

import UUID from 'vue-uuid';
Vue.use(UUID);
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何在我的 Vue 组件中使用它。这是我尝试过的:

模板:

<transition-group
  name="list"
  enter-active-class="animated bounceInUp"
  leave-active-class="animated bounceOutDown"
>
  <li v-for="item in skills" :key="uuid">{{ item.skill }}</li>
</transition-group>
Run Code Online (Sandbox Code Playgroud)

脚本:

import { uuid } from 'vue-uuid';

export default {
  name: 'Skills',
  data() {
    return {
      uuid: uuid.v4(),
      skill: '',
      skills: [{ skill: 'Vue.js' }, { skill: 'React' }]
    };
  },
};
Run Code Online (Sandbox Code Playgroud)

因为:key="uuid",我收到一条错误消息Expected 'v-bind:key' directive to use the variables which are defined by the 'v-for' …

javascript vue.js

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