在React中处理滚动位置的正确方法是什么?因为更好的用户体验,我真的很喜欢平滑滚动.因为在React中操作DOM是一种反模式我遇到了问题:如何平滑地滚动到某个位置/元素?我通常会更改元素的scrollTop值,但这是对DOM的操作,这是不允许的.
码:
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
handleClick = e => {
for (let i = 1; i <= 100; i++) {
setTimeout(() => (this.node.scrollTop = i), i * 2);
}
};
render() {
const someArrayToMap = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
return (
<div ref={node => this.node = node} style={{overflow: 'auto', height: '100vh'}}>
<button onClick={this.handleClick}>CLICK TO SCROLL</button>
{
[...someArrayToMap,
...someArrayToMap,
...someArrayToMap,
...someArrayToMap,
...someArrayToMap, …Run Code Online (Sandbox Code Playgroud) 当我在 AWS 服务器生产中运行应用程序时,我无法向后端容器发送 HTTP 请求。但是,当我在本地运行应用程序时,我可以向后端发出请求。为了提出请求,我使用 fetch:
fetch('http://localhost:8000/something')
Run Code Online (Sandbox Code Playgroud)
这是项目结构的样子:
.
??? docker-compose.yml
|
??? backend
? ??? Dockerfile
? ??? server.js
|
??? frontend
??? Dockerfile
??? package.json
??? public
? ??? index.html
??? src
??? components
??? data
??? index.js
??? routes.js
??? static
??? tests
??? views
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml:
version: '3'
services:
frontend:
build:
context: .
dockerfile: frontend/Dockerfile
volumes:
- ./frontend:/frontend
ports:
- "80:5000"
links:
- backend
backend:
build:
context: .
dockerfile: backend/Dockerfile
volumes:
- ./backend:/backend
ports:
- "8000:8000"
Run Code Online (Sandbox Code Playgroud)
前端的 …
每次我想构建并运行我的程序时,我都会这样做:
javac myProgram.java
java myProgram
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
buildrun = javac (some_argument).java && java (some_argument)
Run Code Online (Sandbox Code Playgroud)
所以之后我可以
buildrun myProgram
Run Code Online (Sandbox Code Playgroud)
如何在 Windows 上实现这一点?
假设我们有一个如下所示的数组:
[
{
id: 0,
name: 'A'
},
{
id: 1,
name:'A'
},
{
id: 2,
name: 'C'
},
{
id: 3,
name: 'B'
},
{
id: 4,
name: 'B'
}
]
Run Code Online (Sandbox Code Playgroud)
我想只保留"name"键上具有相同值的对象.所以输出看起来像这样:
[
{
id: 0,
name: 'A'
},
{
id: 1,
name:'A'
},
{
id: 3,
name: 'B'
},
{
id: 4,
name: 'B'
}
]
Run Code Online (Sandbox Code Playgroud)
我想使用lodash,但我没有看到任何方法.
我正在爬网数千页,需要一个解决方案。每个站点都有自己的html代码-它们都是唯一的站点。没有干净的数据源或API。我希望将捕获的数据加载到某种数据库中。
如果可能的话,有什么想法可以解决吗?