我正在学习文档的反应,但不确定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) GitHub 表示输入git branch -M main
作为在命令行上创建新存储库的步骤。是什么-M
意思?
到目前为止,我认为"调用"和"调用"函数意味着同样的事情.但是,在YouTube教程中,它说通过调用它来调用函数.我的第一个想法是措辞是错误的,但在W3Schools的函数调用页面上,它说:
通常使用术语"调用函数"而不是"调用函数"...在本教程中,我们将使用invoke,因为可以在不调用的情况下调用JavaScript函数.
好的,所以有区别.它是什么?
当我尝试将一个hr
元素放入带有 的容器中时display: flex
,它消失了。(如果我删除display: flex
,它会重新出现,所以我相信这就是原因。)
我在一篇博客文章中读到flex 导致hr
宽度为零,我通过给它 100% 的宽度(使其重新出现)确认了这一点,但没有给出任何解释。
出于好奇(我只是把hr
flex容器放在外面来解决问题),为什么会出现这种情况?使用 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)我想从我的联系框中删除蓝色轮廓(颜色与我页面上的其他颜色冲突)。我尝试了很多关于 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)
结果:
里面的.bin
目录的目的是什么node_modules
?
在另一个问题中,回答者说:
“它是您的节点模块中的二进制文件(可执行文件)所在的位置。”
另外有人可以向我解释以下内容:什么是二进制文件/可执行文件?
任何帮助将不胜感激!
我正在学习相对提交引用并尝试理解git log --oneline --graph
课程中提供的以下输出.
在课程中它说,给定HEAD指向9ec05ca
提交,HEAD ^^^(意思是曾祖父母提交)是0c5975a
提交.但在我看来4c9749e
,如果每个SHA都是下面的SHA的直接后代,那么我应该是伟大的祖父母.任何澄清都表示赞赏.
在一篇涉及相对提交引用的Udacity课程中,它说:
^表示父提交,〜表示第一个父提交
^和〜之间的主要区别在于从合并创建提交时.合并提交有两个父母.使用合并提交时,^引用用于指示提交的第一个父级,而^ 2用于指示第二个父级.第一个父项是运行git merge时所在的分支,而第二个父项是合并的分支.
根据课程,基于以下输出git log --graph --oneline
,SHA的提交f69811c
是HEAD~4^2
相对于(最顶部,带头指针)提交9ec05ca
.
所以HEAD~4本身意味着第一个父母,而^ 2意味着它也是第二个父母?这些东西不要相互矛盾吗?任何澄清都表示赞赏.
我一直试图弄清楚时间死区/解析let
和const
工作方式.这就是它似乎归结为(基于我在以前的问题中收到的文档和各种回答[例如这个和这个 ],尽管这与一些答案存在分歧).这个摘要是正确的吗?
在作用域的顶部,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.变量在块的开始处于"临时死区",直到处理初始化为止.
我正在尝试使用带有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 ×4
git ×3
css ×2
git-log ×2
bootstrap-4 ×1
ecmascript-6 ×1
flexbox ×1
html ×1
node-modules ×1
node.js ×1
npm ×1
reactjs ×1
super ×1
vue.js ×1