我遇到了用户界面的问题,想要显示时间戳距离3 hours ago等4 hours ago。来自服务器的时间戳具有名为的属性createdAt,该属性具有以下值。
createdAt: "2021-10-27T05:24:37.642Z"
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我使用像date-fns v2.25.0内置函数formatDistance这样的库。
import { formatDistance} from 'date-fns';
const timestamp = createdAt ? new Date(createdAt) : '';
console.log(formatDistance(Date.now(), timestamp, {addSuffix: true}));
Run Code Online (Sandbox Code Playgroud)
但它在下面的话中回馈了距离
in about 3 hours
in about 4 hours
Run Code Online (Sandbox Code Playgroud)
代替
3 hours ago
4 hours ago
Run Code Online (Sandbox Code Playgroud)
我做错了什么?如果您知道其他好的图书馆,请分享。
我正在将基于类的Heading组件转换为功能组件,但该组件使用 3 个生命周期钩子componentDidMount、componentWillUnmount和componentDidUpdate。
我更换了componentDidMount,componentWillUnmount但是如何更换componentDidUpdate?它正在将更新prop值与旧prop值进行比较。
应用程序组件:
import React, { Component } from "react";
import { Heading } from "./components/Heading";
import { HeadingHook } from "./components/HeadingHook";
export class App extends Component {
state = {
flag: false,
mountUnmount: true
};
toggleChangeFlag = () => {
if (this.state.mountUnmount) {
this.setState({
flag: !this.state.flag
});
}
};
toggleMountUnmount = () => {
this.setState({
flag: false,
mountUnmount: …Run Code Online (Sandbox Code Playgroud) 我正在使用Next.js并创建了 3 个页面。
每当用户转到新页面时,我都想给用户一些关注。为此,我添加了库名称NProgress,它在视口顶部显示了一条加载线。NProgress 的逻辑写在pages/_app.js文件里面。
_app.js:
import React from 'react';
import Router from 'next/router';
import NProgress from 'nprogress';
NProgress.configure({
speed: 800,
showSpinner: false,
});
Router.events.on('routeChangeStart', () => {
NProgress.start();
});
Router.events.on('routeChangeComplete', () => NProgress.done());
Router.events.on('routeChangeError', () => NProgress.done());
function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />
}
export default MyApp;
Run Code Online (Sandbox Code Playgroud)
每当我更改路线并转到categories页面时,加载线都可以正常工作。
但是当我通过单击categories重定向到categories/[slug].js页面的任何更改路由时。加载线显示几秒钟,然后隐藏。
你可以看到。
有没有办法解决这个问题?
pages/index.js:
import React from 'react';
import Link from …Run Code Online (Sandbox Code Playgroud) 我被困在这个问题上。后端 API 已写入Node.js,我正在React.js. 后端和前端代码具有独立的存储库结构。因此,所有登录、注册和忘记密码功能都将通过客户端请求完成。
API 端点部署在具有以下 URL 结构的服务器上。
POST - https://133.44.163.89:5000/user/forgetPassword
GET - https://133.44.163.89:5000/user/56546dsfsd
Run Code Online (Sandbox Code Playgroud)
现在,我在具有以下 URL 的前端本地环境中使用这些端点。
http://localhost:3000
Run Code Online (Sandbox Code Playgroud)
我面临忘记密码端点的问题,基本上它是一个发布请求,并在正文中获取用户电子邮件。
POST - https://133.44.163.89:5000/user/forgetPassword
body: { email: 'example@example.com' }
Run Code Online (Sandbox Code Playgroud)
成功回复后,它将发送一封带有链接的电子邮件。该链接具有以下结构。
https://133.44.163.89:5000/user/56546dsfsd/forgetPassword/ddeef95c508
user-id token
Run Code Online (Sandbox Code Playgroud)
后端开发人员希望我提供的是,当您单击此 URL 时,应在前端打开一个带有密码重置表单的页面。但是链接HOST不同,我如何将此链接HOST(https://133.44.163.89:5000)映射到前端HOST(http://localhost:3000)以打开页面。
这个问题的解决方案应该是什么?
我正在开发一个Node.js使用MongooseMongoDB数据库的应用程序。我一直被困在这件事上,没有提出正确的查询。
问题:
有一个名为的集合,其中包含作为对象数组的chats嵌入文档。(rooms)我想删除数组中的(rooms)这些嵌入文档。Ids
{
"_id": "ObjectId(6138e2b55c175846ec1e38c5)",
"type": "bot",
"rooms": [
{
"_id": "ObjectId(6138e2b55c145846ec1e38c5)",
"genre": "action"
},
{
"_id": "ObjectId(6138e2b545c145846ec1e38c5)",
"genre": "adventure"
}
]
},
{
"_id": "ObjectId(6138e2b55c1765846ec1e38c5)",
"type": "person",
"rooms": [
{
"_id": "ObjectId(6138e2565c145846ec1e38c5)",
"genre": "food"
},
{
"_id": "ObjectId(6138e2b5645c145846ec1e38c5)",
"genre": "sport"
}
]
},
{
"_id": "ObjectId(6138e2b55c1765846ec1e38c5)",
"type": "duo",
"rooms": [
{
"_id": "ObjectId(6138e21c145846ec1e38c5)",
"genre": "travel"
},
{
"_id": "ObjectId(6138e35645c145846ec1e38c5)",
"genre": "news"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在将我的数组转换ids …
我制作了一个在文本字段中打印值的程序.问题是当用户右键单击文本字段时,这样的菜单将无法打开:
用户可以通过右键单击打开此菜单吗?
这是我的代码:
public class A extends JFrame{
private JTextField txt1;
private JTextField txt2;
private JLabel val;
private JLabel prt;
private JButton bt1;
public A() {
getContentPane().setLayout(null);
txt1 = new JTextField();
txt1.setBounds(178, 93, 87, 28);
getContentPane().add(txt1);
txt2 = new JTextField();
txt2.setBounds(178, 148, 87, 28);
getContentPane().add(txt2);
val = new JLabel("Enter Value");
val.setBounds(84, 93, 69, 28);
getContentPane().add(val);
prt = new JLabel("Printed Value");
prt.setBounds(80, 148, 87, 28);
getContentPane().add(prt);
bt1 = new JButton("Click This");
bt1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int n=Integer.parseInt(txt1.getText()); …Run Code Online (Sandbox Code Playgroud) 当我们有一个这样的类没有任何构造函数时:
public class F {
public void sum() {
System.out.println("print it");
}
Run Code Online (Sandbox Code Playgroud)
该main方法如何创建此类的对象?对象是否已经有构造函数?
public static void main(String[] args) {
F obj = new F();
obj.sum();
}
}
Run Code Online (Sandbox Code Playgroud)
Java是否有像这样的默认构造函数:
public class F() {
}
Run Code Online (Sandbox Code Playgroud) reactjs ×3
java ×2
constructor ×1
date-fns ×1
javascript ×1
mongodb ×1
mongoose ×1
next.js ×1
node.js ×1
swing ×1