RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-339135

Armen's questions

Martin Hope
Armen
Asked: 2024-07-26 01:30:24 +0000 UTC

类型不匹配错误

  • 6

2个问题:

1:为什么 ts 抱怨${R[K]}(不可分配给类型 string | ....)以及如何修复它

2:如何在没有显式类型重影的情况下做到同样的事情?recordWithRoot as ...

const getRecordWithRoot = <T extends string, R extends {}>(
  root: T,
  record: R
) => {
  const recordWithRoot = {
    ROOT: root,
  };
  for (const key in record) {
    Object.defineProperty(recordWithRoot, key, {
      get: () => {
        return root + record[key];
      },
    });
  }

  return recordWithRoot as { [K in keyof R]: `${T}${R[K]}` } & { ROOT: T };
};

const some = getRecordWithRoot(`core/A` as const, {
  get A() {
    return `/a` as const;
  },
  get B() {
    return `/b` as const;
  },
});

// result
// ROOT => core/A
// A => core/A/a
// B core/A/b
javascript
  • 1 个回答
  • 26 Views
Martin Hope
Armen
Asked: 2024-03-26 22:26:22 +0000 UTC

如何从服务器组件设置cookie

  • 5
export default async function Home() {
  const res = await method();
  return <main></main>;
}

const method = async () => {
  const { cookies } = await import("next/headers");
  const value = cookies().get("some-cookie");

  const res = await fetch("/somewhere", {
    headers: {
      Cookie: `${value}`,
    },
  });

  // в res новые куки

  //как добавить новые куки к ответу от сервера next????

  return res;
};
nextjs
  • 1 个回答
  • 17 Views
Martin Hope
Armen
Asked: 2024-02-27 02:36:12 +0000 UTC

tsconfig.json 中的哪个选项负责在对象中输入此内容?

  • 5

为什么下面的例子this有一个类型?any

const x = {
  name: 'x',
  getX() {
    // this почему то any
    this.name;
  },
};

该项目是通过nest cli生成的nest new

封装版本:

"@nestjs/common": "^10.0.0",
"@nestjs/config": "^3.1.1",
"@nestjs/core": "^10.0.0",

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "ES2021",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false,
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}
typescript
  • 1 个回答
  • 27 Views
Martin Hope
Armen
Asked: 2024-02-06 01:46:54 +0000 UTC

我无法在 docker-compose 中通过 pgadmin4 配置与 postgres 的连接端口

  • 6

我将容器的端口设置为 3002,由于某种原因,我从 pgadmin 连接到端口 5432(当我尝试连接到 3002 时,它也会抛出错误)

配置主要是从 elestio/pgadmin 码头复制的

version: ' v2.23.3-desktop.2'
services:
  xy:
    image: postgres:latest
    restart: always
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      PGDATA: /var/lib/postgresql/data
    volumes:
      - ./data:/var/lib/postgresql/data
    ports:
      - '3002:5432'

  pgadmin4:
    image: elestio/pgadmin:latest
    restart: always
    environment:
      PGADMIN_DEFAULT_EMAIL: [email protected]
      PGADMIN_DEFAULT_PASSWORD: [email protected]
      PGADMIN_LISTEN_PORT: 8080
    ports:
      - '8080:8080'
    volumes:
      - ./servers.json:/pgadmin4/servers.json

在此输入图像描述

端口不应该是3002吗???

postgresql
  • 2 个回答
  • 56 Views
Martin Hope
Armen
Asked: 2024-01-25 19:44:47 +0000 UTC

如果文件本身位于 Windows 上的另一个目录“../.env”中,如何使 .env 中的变量在 docker-compose.yml 中可用

  • 5

问题:如何创建变量

  • 数据库端口

在向上调用时定义,未指定 --env-file

调用时的选项有效:

docker-compose -f [file].yml --env-file ../.env up

像这样在 [file].yml 中不再有效: (.env 找不到) (finds) 从当前的答案我意识到这只是从 .env 复制变量(将在图像中可用),但不提供访问.yml 本身

env_file:
  - ../.env

完整文件:

version: 'v2.23.3-desktop.2'

services:
  postgres:
    image: postgres:${SOFTWARE_VERSION_TAG}
    restart: always
    env_file:
      - ../.env
    ports:
      - '${DB_PORT}:5432'
docker
  • 3 个回答
  • 72 Views
Martin Hope
Armen
Asked: 2023-09-11 19:12:31 +0000 UTC

如何重新设计/扩展界面,使其变得混合

  • 6
interface A {
  name: string;
  age: number;
}

type B = A | Record<keyof A, null>;

在第一个键的值之后,ts 确定正在使用哪个接口,这是合乎逻辑的,但是我们如何才能使混合版本也工作呢?

const obj: B = {
  age: null,
  name: 'some'
}

Type 'string' is not assignable to type 'null'
typescript
  • 1 个回答
  • 20 Views
Martin Hope
Armen
Asked: 2022-07-07 03:25:51 +0000 UTC

为什么 typeScript 允许空数组?

  • 0

理论上,他应该发誓unknownLengthResArray: [],该方法声明这是一个对象数组,应该有key

const args = {
    unknownLengthResArray: [],
    t,
    keyName: 'service',
    namespace: 'services'
}

const sectionBody = unknownLengthDatagridRowSectionBody(args)


interface IInnerObject {
    key: string;
}

type TArgsType = {
    unknownLengthResArray?: IInnerObject[];
    t: any;
    keyName: string;
    namespace: string;
}

type TReturnType = Dictionary<string>[];

export const unknownLengthDatagridRowSectionBody = ({
    unknownLengthResArray,
    t,
    keyName,
    namespace
}: TArgsType): TReturnType => {
    const sectionBody = []
    if(unknownLengthResArray?.length) {
        let section = {}
        let denominator = 3
        unknownLengthResArray.forEach(({ key }, i) => {
            const sectionInfo = {
                [`${t(keyName)} ${i+1}`]: t(`${namespace}:${key}`)
            }
            while(i < denominator){
                section = {...section, ...sectionInfo}
                return
            }
            sectionBody.push(section)
            section = {}
            denominator += denominator
        })
    }
    return sectionBody
}
javascript
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-07-04 03:36:08 +0000 UTC

为返回 Promise.all 的函数设置什么返回类型

  • 1

这是一个需要指定返回类型的函数

export const getDashboard = (date: TRange): any => {
    return Promise.all([
        StatisticService.getCustomerChart(date),
        StatisticService.getOrderChart(date),
        StatisticService.getPartnerChart(date),
        StatisticService.getWorkerChart(date),
    ])
};

这是从中获取方法的类

export class StatisticService {

    static getCustomerChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.CUSTOMER, queryParams);
    }

    static getOrderChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.ORDER, queryParams);
    }

    static getPartnerChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.PARTNER, queryParams);
    }

    static getWorkerChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.WORKER, queryParams);
    }
}

和更多接口

interface IResponseMany<T> extends IResponseDetails {
    body: T[];
}

export type TResponseMany<T> = Promise<IResponseMany<T>>;

export interface IStatistic {
    creationDate: string;
    count: number;
}
javascript
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-06-15 06:51:26 +0000 UTC

如何键入返回的结果

  • 0

标记了一个我无法理解要放置什么类型的地方,因为在 Promise.all 类型中有几个可能的返回选项 TUser 或 TAddress 或同时返回两者或 null

我很乐意对代码发表评论

    type TUser = {
        name: 'a',
        surname: 'b'
    }

    type TAddress = {
        address: 'x'
    }
    const getList = async (resource: string, params: GetListParams) => {
    const finishedResult = {
        data: [],
        total: 0,
    };
    const {body: { result, totalCount }} = await CustomerService.getCustomerPage()
    finishedResult.total = totalCount
    //вот тут каким будет возвращаемый тип?
    const promises = result.map(({addressId, userId}):какой возвращаемый тип? => {
        if(!addressId && !userId) {
            return null
        }
        if(addressId && userId) {
            return Promise.all([
                UserService.getUserById(userId),
                AddressService.getAddressById(addressId)
            ])
        }
        if(!addressId) {
            return Promise.all([UserService.getUserById(userId)])
        }
        if(!userId) {
            return Promise.all([AddressService.getAddressById(addressId)])
        }
    })
    promises.filter(e => e !== null)
    //вид данных внизу
    const res = await Promise.all(promises)
    res.forEach(arr => {
        let finalRes = {}
        arr.forEach(({status, body}) => {
            if(status === 'success'){
                finalRes = {...finalRes,...body}
            }
        })
        if(isObjectWithProperties(finalRes)){
            finishedResult.data.push(finalRes)
        }
    })
    return Promise.resolve(finishedResult);
}

资源中的数据

const res = [
[
    {
        status: '',
        body: {}
    },
    {
        status: '',
        body: {}
    },
],
[
    {
        status: '',
        body: {}
    },
    {
        status: '',
        body: {}
    },
],

]

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-06-02 04:08:09 +0000 UTC

如何通过多个分隔符拆分文本,更改文本但使用原始分隔符返回结果

  • 0

我可以以某种方式获得带有原始空格的输出文本和 -

const translateHelper = (f,text) => {
    return text.split(/[\s-]]/).map(e => {
        const str = e[0].toLowerCase() + ' ' + e.slice(1)
        //функция f изменяет текст но на выходе мне нужнен измененный текст с пробелами и с -
        return f(str)
    }).join('')
}

有这样的“anno bem ci drag-error”我需要将每个单词发送到 f 并在输出时使用空格和 - 'alfa beta cxc delta-enum'

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-05-04 01:45:36 +0000 UTC

create-react-app 如何设置 eslint?

  • 0

我之前没有接触过eslint...

我可以在 eslintconfig 中添加设置吗?

"eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },

或者您需要创建一个单独的 .eslintrc 并在那里添加设置

另一个问题是 .eslintrc 是如何被编译器定位和运行的?

create-react-app
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-04-26 09:22:47 +0000 UTC

如何优化(缓存不可变数据)

  • 0

组件本身

import React from 'react';
import styles from './ImgCreator.module.scss';

interface IImgProps{
    imgArr:Array<string>,
}

const getData = (data:Array<string>) => {
        let arr = data.map(e => {
            //каждый раз пробежатся по data нет смысла данные не меняются
            console.log(`maping`);
            return (
                <React.Fragment key={e}>
                    {/* <img className={styles.img} src={e} alt={e}/> */}
                    <span style={{color:'red'}}>{Math.random()}</span>
                </React.Fragment>
            )
        })
        return arr
    }

export const ImgCreator:React.FC<IImgProps> =({imgArr}) => {
    //тут как то нужно сохранить arr чтобы при следующем рендере getData не сработал
    const arr = getData(imgArr)
    return (
        <div className={styles.root}>
            {arr}
        </div>
    )
}

怎么称呼

export const MyTabs = () => {
    const imgArr = [
      pictures.rect5_1,
      pictures.rect5_2,
      pictures.rect5_3,
      pictures.rect5_4,
      pictures.rect5_5,
      pictures.rect5_6,
    ]
  return (
    <div className={styles.root}>
         {imgArr.map((e) => {
           return <TabPanel key={e.replace(/\s/g,'')}>
           <ImgCreator imgArr={imgArr}/>
         </TabPanel>
         })}
    </div>
  )
}
reactjs
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-04-21 17:53:13 +0000 UTC

如何使用css使SVG的高度和宽度等于里面绘制的(使用=>路径)

  • 3

由于某种原因,我有 svg 标签的高度和宽度 150h * 300w 但图标19*19
如何通过 css 做这样的事情:

svg{
  width: inner-content-width;
  height: inner-content-height;
}

当然,我可以像这样设置 svg,但这是不可取的,我有不同大小的 svg

svg{
  width: 19px;
  height: 19px;
}

svg 示例

<svg id="search" width="19" height="19" viewBox="0 0 19 19" fill="none" 

xmlns="http://www.w3.org/2000/svg">
<path d="M19 17L13.846 11.846C14.7988 10.3979 15.1805 8.64774 14.917 6.93442C14.6536 5.22111 13.7638 3.66648 12.4199 2.57154C11.076 1.47659 9.37369 0.919227 7.64247 1.00735C5.91125 1.09547 4.27431 1.82281 3.04857 3.04855C1.82283 4.27429 1.09549 5.91123 1.00737 7.64245C0.91925 9.37366 1.47662 11.076 2.57156 12.4199C3.6665 13.7637 5.22113 14.6535 6.93445 14.917C8.64777 15.1804 10.3979 14.7988 11.846 13.846L17 19L19 17ZM3 7.99998C3 5.24298 5.243 2.99998 8 2.99998C10.757 2.99998 13 5.24298 13 7.99998C13 10.757 10.757 13 8 13C5.243 13 3 10.757 3 7.99998Z" fill="white"/>
</svg>
html
  • 2 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-03-29 19:27:19 +0000 UTC

如何让孩子从父母那里拿东西

  • 0

是否有可能以某种方式将容器中的函数传递给按钮

export const PopupContainer = ({children}) => {
const [isOpen, setIsOpen] = useState(false)

const closePopup = () => {
    setIsOpen(false);
  }

  const openPopup = () => {
    setIsOpen(true);
  }

return (
        {children}
);
}

执行

<PopupContainer>
    <button onClick={openPopup}></button>
</PopupContainer>
reactjs
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-03-24 02:49:04 +0000 UTC

如何控制复选框

  • 0

当然,结果我得到了一个被点击的复选框的名称数组,但是我不明白如何根据点击的原理来控制它们 -> 调度 -> 用点击的复选框重绘

//компонент
export const Icons = () => {
const dispatch = useDispatch()
const checkedArray = useSelector(state => state.iconForm)
console.log(checkedArray);
const changeHandler = (e) => {
    if(!e.target.checked){
        dispatch({type:UNCHECK,payload:e.target.name})
        return
    }
    dispatch({type:CHECK,payload:e.target.name})
}

const submitHandler = (e) => {
    e.preventDefault()
}
return (
    <div className={styles.iconsForm}>
        <form>
            <label className="label" onChange={changeHandler}>
                <input name="111" type="checkbox"/>
            </label>
            <label className="label" onChange={changeHandler}>
                <input name="222" type="checkbox"/>
            </label>
            <label className="label" onChange={changeHandler}>
                <input name="333" type="checkbox"/>
            </label>
            <button onClick={submitHandler}>abcd</button>
        </form>
    </div>
)
}



//редюсер
const initialState = {
activeIcons:[],
}
export const iconFormReducer = (state = initialState, action) => {
switch(action.type){
    case CHECK:
        return {
            ...state,
            activeIcons:[...state.activeIcons,action.payload]
        }
    case UNCHECK:
        return {
            ...state,
            activeIcons:state.activeIcons.filter(e => e != action.payload)
        }
    default:
        return state
}
}

export const CHECK = 'APP/CHECK'
export const UNCHECK = 'APP/UNCHECK'
reactjs
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2022-03-23 11:27:03 +0000 UTC

关于在 ubuntu 中创建新用户

  • 0

1.如果您创建一个新用户,是否所有相同的程序都具有干净的设置,并且他不会以任何方式与同一台计算机上的另一个用户关联?2.在ubuntu中,除了通过命令行,能不能安装一些东西(比如windows.exe)?

ubuntu
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2021-11-26 11:12:21 +0000 UTC

这个异步函数是否正确实现了[关闭]

  • 0
关闭。这个问题需要澄清或补充细节。目前不接受回复。

想改进这个问题?通过编辑此帖子添加更多详细信息并澄清问题。

1 年前关闭。

改进问题

这是一项任务的答案,我不确定变量作业中带有 * 的行在添加时是否包含一个承诺,就我而言,为了使 fetch 函数的结果完全在作业中,它必须在await之前

async function getUsers(names) {
  let jobs = [];

  for(let name of names) {
    let job = fetch(`https://api.github.com/users/${name}`).then(
      successResponse => {
        if (successResponse.status != 200) {
          return null;
        } else {
          return successResponse.json();
        }
      },
      failResponse => {
        return null;
      }
    );
    jobs.push(job); //*
  }

  let results = await Promise.all(jobs);

  return results;
}

getUsers([1,2,3,4,5]).then(n => console.log(n))

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2021-11-19 20:53:59 +0000 UTC

是否可以直接访问函数的词法环境

  • 1

我只是想知道这是否可能,因为只要有x,那么d它也在环境中,还是х必须引用d它才能生存?

那不是这样的

let a = () => {
  let d = 5
  return () => d
}
let x = a()
console.log(x())

但怎么会

let a = () => {
  let d = 5
  return () => {}
}
let x = a()
console.log(x().`any Obj.d` или x.`anyObj.d`);
javascript
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2020-09-16 06:08:49 +0000 UTC

是否有可能。没有视觉滚动的页面滚动上的监听器(没有滚动条)需要一个专门针对鼠标滚轮移动的监听器

  • 0

如果有视觉滚动(有滚动条)在我的情况下没有滚动条,它就可以工作

当鼠标滚轮移动时,我需要调度一个事件

document.addEventListener('scroll',e => {
    console.log(`scroll`)
})
javascript
  • 1 个回答
  • 10 Views
Martin Hope
Armen
Asked: 2020-09-15 20:09:37 +0000 UTC

我不明白魔术师如何正确添加或删除与状态关联的类

  • 1

如果我理解正确,UI 的任何更改都应该通过状态发生(状态已更改,UI 已重绘)...有一个汉堡菜单,单击时会从 X 更改为 -- 如何在此处使用状态? 或者根本没有使用状态的意义?

const Burger = (props) => {
const [state, setState] = useState('')
const toggleHandler = (event) => {
    event.target.classList.toggle('active')
}
return (
    <div 
    className="my"
    onClick={toggleHandler}
    ></div>
)
}

这是正确的解决方案还是不值得?

const Burger = (props) => {
const [isPressed, setPressed] = useState(false)
const toggleHandler = (event) => {
    setPressed(!isPressed)
    if(isPressed){
        event.target.classList.add('active')
    }
    else{
        event.target.classList.remove('active')
    }
}
return (
    <div 
    className="my"
    onClick={toggleHandler}
    ></div>
)

}

reactjs
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5