我正在学习文档的反应,但不确定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) 我试图了解何时使用React功能组件与类以及从文档中读取它们并没有真正详细说明.当你想要一个类的特定功能来制作一个组件时,你能给我一些下面的主要例子吗?
功能组件功能较弱但更简单,只需一个render()方法就像一个类组件.除非您需要仅在课程中提供的功能,否则我们建议您使用功能组件.
我正在学习文档中的 react-redux,并且没有看到以下内容.参考部分指的是什么?和节点?从我看到的那个地方都没有使用这个参考.引用后,引用是否引用DOM上的子组件节点(输入)?如果是这样,为什么不直接参考输入?
import React from 'react'
import { connect } from 'react-redux'
import { addTodo } from '../actions'
let AddTodo = ({ dispatch }) => {
let input
return (
<div>
<form onSubmit={e => {
e.preventDefault()
if (!input.value.trim()) {
return
}
dispatch(addTodo(input.value))
input.value = ''
}}>
<input ref={node => {
input = node
}} />
<button type="submit">
Add Todo
</button>
</form>
</div>
)
}
AddTodo = connect()(AddTodo)
export default AddTodo
Run Code Online (Sandbox Code Playgroud) 我正在阅读Redux Reducers 文档并且没有了解状态正常化的方式.示例中的当前状态是:
{
visibilityFilter: 'SHOW_ALL',
todos: [
{
text: 'Consider using Redux',
completed: true,
},
{
text: 'Keep all state in a single tree',
completed: false
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果我们按照下面的说法,您能举例说明上述情况吗?
例如,在一个真实的应用程序中保持todosById:{id - > todo}和todos:array在状态中是一个更好的主意,但我们保持示例简单.
下面是我在JSX中渲染方法的一部分 - 为什么})
抛出错误后的分号?在普通的JavaScript中它完全没问题
<ul>
{
libraries.map(function (item) {
return <li>{item.name.toLowerCase()}</li>;
});
}
</ul>
Run Code Online (Sandbox Code Playgroud) 如果我完全替换了整个状态片段,我是否还必须使用Object.assign或spread运算符来复制原始状态并将其替换为新状态,或者我是否可以返回新状态在我的减速机?
const fetching = (state = { isFetching: false }, action) => {
switch (action.type) {
case 'REQUESTING':
return Object.assign({}, state, { isFetching: true } )
case 'RECEIVE_POKEMON_TYPE_INFO':
return Object.assign({}, state, { isFetching: false } )
default:
return state
}
}
Run Code Online (Sandbox Code Playgroud)
与
const fetching = (state = { isFetching: false }, action) => {
switch (action.type) {
case 'REQUESTING':
return { isFetching: true }
case 'RECEIVE_POKEMON_TYPE_INFO':
return { isFetching: false }
default:
return state
}
}
Run Code Online (Sandbox Code Playgroud) 当我尝试安装 nodejs 12.13.0 时,asdf install nodejs 12.13.0
我收到了/Users/john.doe/.asdf/plugins/nodejs/bin/install: line 52: ASDF_DOWNLOAD_PATH: unbound variable
.
任何帮助将不胜感激。
我正在学习中间件上的react-redux文档,并且didInvalidate
在reddit示例中无法理解属性的用途.这似乎是例如经过中间件,让现在店里做API调用开始的过程INVALIDATE_SUBREDDIT
然后REQUEST_POSTS
再到RECEIVE_POSTS
.为什么有INVALIDATE_SUBREDDIT
必要?看看下面的操作,我只能猜测,如果用户非常快速地点击"刷新",它会阻止多次抓取.这是这个房产的唯一目的吗?
function shouldFetchPosts(state, subreddit) {
const posts = state.postsBySubreddit[subreddit]
if (!posts) {
return true
} else if (posts.isFetching) {
return false
} else {
return posts.didInvalidate
}
}
export function fetchPostsIfNeeded(subreddit) {
return (dispatch, getState) => {
if (shouldFetchPosts(getState(), subreddit)) {
return dispatch(fetchPosts(subreddit))
}
}
}
Run Code Online (Sandbox Code Playgroud) 我从这篇文章中读到,您可以创建一个config/local_env.yml
带有环境变量的环境变量,然后使用config/application.rb
它来读取它以替换/优先于您在.bashrc
. 那么它是用来.env
做什么的呢?它与 的目的相同吗config/local_env.yml
?
左边是我从这个视频中得到的一个虚拟机和丰富的 Docker :
Docker 引擎如何能如此轻巧,以至于它可以取代客户操作系统和管理程序,并且仍然可以与主机操作系统一起工作?本质上,它只是比虚拟机更有效地转换不同的应用程序及其依赖项?我听说 Docker 引擎使用与主机操作系统相同的内核,但我不确定我是否理解这意味着什么。本质上,我们用一个 Docker 引擎替换了来自多个客户操作系统和管理程序的所有依赖项,但我不明白如何做到这一点。Docker 引擎是否只是删除了访客操作系统本来就不应该拥有的那么多无关紧要的东西?什么是不必要的无关紧要的东西?
reactjs ×7
javascript ×4
react-redux ×4
redux ×3
ecmascript-6 ×2
asdf ×1
class ×1
components ×1
docker ×1
jsx ×1
node.js ×1
ref ×1
ruby ×1
state ×1
super ×1