Develor 0 / 0 / 0 Регистрация: 03.10.2020 Сообщений: 54 |
||||
1 |
||||
09.12.2020, 22:19. Показов 6872. Ответов 13 Метки нет (Все метки)
Не могу понять, почему выдает ошибку «expression is not assignable». Делаю такое задание:
Миниатюры
__________________
0 |
jugu 610 / 415 / 151 Регистрация: 11.01.2019 Сообщений: 1,746 |
||||
09.12.2020, 22:27 |
2 |
|||
0 |
0 / 0 / 0 Регистрация: 03.10.2020 Сообщений: 54 |
|
09.12.2020, 23:01 [ТС] |
3 |
Как найти разность сумм элементов с четными и нечетными индексами?
0 |
jugu 610 / 415 / 151 Регистрация: 11.01.2019 Сообщений: 1,746 |
||||
09.12.2020, 23:09 |
4 |
|||
Как найти разность сумм элементов с четными и нечетными индексами?
0 |
0 / 0 / 0 Регистрация: 03.10.2020 Сообщений: 54 |
|
09.12.2020, 23:26 [ТС] |
5 |
Я дико извиняюсь, но в какую строку это вписать? Целый день сижу за этими лабораторными. Уже мозг плавится.
0 |
Вездепух 10436 / 5705 / 1553 Регистрация: 18.10.2014 Сообщений: 14,101 |
|
09.12.2020, 23:27 |
6 |
Как найти разность сумм элементов с четными и нечетными индексами? 1. Найти суммы.
0 |
610 / 415 / 151 Регистрация: 11.01.2019 Сообщений: 1,746 |
|
09.12.2020, 23:28 |
7 |
в какую строку это вписать? Вместо строк 31-35.
0 |
Develor 0 / 0 / 0 Регистрация: 03.10.2020 Сообщений: 54 |
||||
10.12.2020, 00:00 [ТС] |
8 |
|||
Вместо чисел выдает такую беллиберду (см. скриншот). Как исправить? И правильно ли я вывел на печать полученную сумму и разность? Сомневаюсь.
Миниатюры
0 |
jugu 610 / 415 / 151 Регистрация: 11.01.2019 Сообщений: 1,746 |
||||
10.12.2020, 09:30 |
9 |
|||
cout<<«nСумма:»<<i; Замени на:
Добавлено через 50 секунд
0 |
0 / 0 / 0 Регистрация: 03.10.2020 Сообщений: 54 |
|
10.12.2020, 11:25 [ТС] |
10 |
Где именно заменить int на long long?
0 |
610 / 415 / 151 Регистрация: 11.01.2019 Сообщений: 1,746 |
|
10.12.2020, 11:52 |
11 |
Где именно заменить int на long long? Строки 5, 7, 19 и 29.
0 |
0 / 0 / 0 Регистрация: 03.10.2020 Сообщений: 54 |
|
10.12.2020, 11:57 [ТС] |
12 |
Ничего не изменилось Миниатюры
0 |
jugu 610 / 415 / 151 Регистрация: 11.01.2019 Сообщений: 1,746 |
||||
10.12.2020, 13:39 |
13 |
|||
Решение
1 |
0 / 0 / 0 Регистрация: 03.10.2020 Сообщений: 54 |
|
10.12.2020, 15:07 [ТС] |
14 |
Спасибо большое!
0 |
Я передаю событие onChange в качестве свойства компонента, но получаю ошибку типа данных.
Родительский компонент —
const onChangeStatus=(selectType:string , e:React.ChangeEvent<HTMLSelectElement>) => {
const { options } = e.target;
console.log(options)
}
<GlobalSearchAssignmentFilter
onChangeAssignmentStatus={onChangeStatus}
/>
Дочерний компонент — я определил интерфейс вроде
interface A {
onChangeAssignmentStatus: (
selectType: string,
event:React.ChangeEvent<HTMLInputElement>
) => void;
}
Код компонента — <Выбрать несколько собственных onChange = {(event: React.ChangeEvent): void => onChangeAssignmentStatus (ASSIGNMENT_STATUS_PROPERTY, event)} inputProps = {{id: ‘select-multiple-native’,}}> {assignmentFilterData.assignmentDispositions. map ((item: any) => ({item.key}))}
Я импортирую множественный выбор Select from Material UI. Я получаю сообщение об ошибке при передаче события onChangeAssignmentStatus дочернему компоненту. Ошибка —
Type '(selectType: string, e: React.ChangeEvent<HTMLSelectElement>) => void' is not assignable to type '(selectType: string, event: ChangeEvent<HTMLInputElement>) => void'.
Types of parameters 'e' and 'event' are incompatible.
Type 'ChangeEvent<HTMLInputElement>' is not assignable to type 'ChangeEvent<HTMLSelectElement>'.
Type 'HTMLInputElement' is missing the following properties from type 'HTMLSelectElement': length, options, selectedIndex, selectedOptions, and 3 more.
Как я могу исправить эту ошибку?
1 ответ
Лучший ответ
В вашей функции onChangeStatus
вы ожидаете, что e
будет иметь тип React.ChangeEvent<HTMLSelectElement>
.
Однако в вашем interface A
вы устанавливаете тип event
на React.ChangeEvent<HTMLInputElement>
.
Эти два типа не совпадают, поэтому возникает ошибка.
Если вы хотите исправить ошибку, измените параметр e
в функции onChangeStatus
так, чтобы он имел тип React.ChangeEvent<HTMLInputElement>
следующим образом:
const onChangeStatus=(selectType:string , e:React.ChangeEvent<HTMLInputElement>) => {
const { options } = e.target;
console.log(options)
}
Или измените свой interface A
так, чтобы параметр event
функции onChangeAssignmentStatus
имел тип React.ChangeEvent<HTMLSelectElement>
следующим образом:
interface A {
onChangeAssignmentStatus: (
selectType: string,
event:React.ChangeEvent<HTMLSelectElement>
) => void;
}
Кроме того, вы можете установить тип onChangeStatus
в соответствии с типом в interface A
. Таким образом машинописный текст сообщает вам, какого именно типа должны быть параметры. Если вы хотите сделать это, вы можете получить доступ к типу onChangeAssignmentStatus
с помощью A['onChangeAssignmentStatus']
.
1
LukeZz
2 Ноя 2020 в 16:42
Игроки «Наследие Хогвартса» находят странные случаи, когда их персонаж становится полностью синим без возможности исправить. Однако есть решение, и наше руководство покажет вам, как изменить вашего синего персонажа в Hogwarts Legacy.
Игра о Гарри Поттере, которую так жаждали давние фанаты, наконец-то здесь, и феерия открытого мира Hogwarts Legacy позволяет игрокам воплотить в жизнь свои самые большие желания в волшебном мире .
От летающих метел до создания зелий — все удивительные элементы мира Гарри Поттера можно найти в «Наследии Хогвартса». Avalanche Studios также дает игрокам большую свободу настраивать своего волшебника или ведьму так, как они считают нужным, но создание их персонажа полностью синим, вероятно, не является преднамеренным.
Статья продолжается после объявления
Если эта проблема возникает у вас и вы хотите знать, как ее решить, у нас есть решение, которое должно облегчить ваши проблемы.
Они должны быть синими? так запутался pic.twitter.com/4s3GDEFCjO
— AD 9ine (@9ine_ad) 6 февраля 2023 г.
Наследие Хогвартса исправление синего символа
Очень просто, если вы хотите продолжить свои приключения в Наследии Хогвартса без синего аватара, вам нужно переключить параметр. Вам необходимо отключить «Высококонтрастный игровой процесс»., который является опцией специальных возможностей, чтобы предотвратить это.
Настройки специальных возможностей становятся все более и более распространенными в современных играх, чтобы по праву быть доступным для всех геймеров, которым нужны определенные функции, чтобы иметь возможность в полной мере насладиться игрой.
Статья продолжается после объявления
В Hogwarts Legacy есть множество настроек специальных возможностей, а High Contrast — полезная функция, которая позволяет игрокам лучше отличать своего персонажа от остального фона, текста на экране и многого другого.
Подпишитесь на нашу рассылку, чтобы быть в курсе последних новостей о киберспорте, играх и многом другом.
Электронная почтаПодпишитесь
Вот краткое изложение того, как отключить этот параметр:
- Перейдите в меню Hogwarts Legacy.
- Найдите и щелкните параметр Настройки.
- Найдите Настройки специальных возможностей.
- Найдите High Contrast Gameplay и нажимайте на него, пока он не выключится.
Надеюсь, ваш созданный персонаж теперь должен выглядеть как обычно, если вам не нужно включать этот параметр.
На этом наше быстрое и простое руководство по синим персонажам Hogwarts Legacy завершается, и если вы хотите еще больше узнать об игре, у нас есть множество других руководств, которые вы можете посмотреть ниже:Статья продолжается после объявления
Какие классические персонажи Гарри Поттера представлены в «Наследии Хогвартса»? | Что такое виварий в «Наследии Хогвартса»? | Список трофеев «Наследие Хогвартса» | Наследие Хогвартса появится в Xbox Game Pass? | Как получить ездовое животное Thestral в Hogwarts Legacy | Актеры озвучивания «Наследие Хогвартса» для всех персонажей | Все подтвержденные маунты в «Наследии Хогвартса» | Будет ли Hogwarts Legacy в Steam Deck? | Как попасть в свой House & выбери свою палочку в Hogwarts Legacy | Все подтвержденные классы & профессора в «Наследии Хогвартса» | Можно ли играть в квиддич в «Наследии Хогвартса»? | Сколько длится «Наследие Хогвартса»? | Все звери из наследия Хогвартса
Seems that TypeScript fails with type inference, so I gave him the hint by
- Introducing new type
type Cols = { col1: string; col2: string };
- Explicitly stating type for
const columns: Column<Cols>[] = ...
Full working example is here:
import { useTable, TableOptions, Column } from "react-table";
import React from "react";
type Cols = { col1: string; col2: string };
export default function App() {
const data = React.useMemo(
(): Cols[] => [
{
col1: "Hello",
col2: "World"
},
{
col1: "react-table",
col2: "rocks"
},
{
col1: "whatever",
col2: "you want"
}
],
[]
);
const columns: Column<{ col1: string; col2: string }>[] = React.useMemo(
() => [
{
Header: "Column 1",
accessor: "col1" // accessor is the "key" in the data
},
{
Header: "Column 2",
accessor: "col2"
}
],
[]
);
const options: TableOptions<{ col1: string; col2: string }> = {
data,
columns
};
const {
getTableProps,
getTableBodyProps,
headerGroups,
rows,
prepareRow
} = useTable(options);
return (
<table {...getTableProps()} style={{ border: "solid 1px blue" }}>
<thead>
{headerGroups.map((headerGroup) => (
<tr {...headerGroup.getHeaderGroupProps()}>
{headerGroup.headers.map((column) => (
<th
{...column.getHeaderProps()}
style={{
borderBottom: "solid 3px red",
background: "aliceblue",
color: "black",
fontWeight: "bold"
}}
>
{column.render("Header")}
</th>
))}
</tr>
))}
</thead>
<tbody {...getTableBodyProps()}>
{rows.map((row) => {
prepareRow(row);
return (
<tr {...row.getRowProps()}>
{row.cells.map((cell) => {
return (
<td
{...cell.getCellProps()}
style={{
padding: "10px",
border: "solid 1px gray",
background: "papayawhip"
}}
>
{cell.render("Cell")}
</td>
);
})}
</tr>
);
})}
</tbody>
</table>
);
}
#angular
Вопрос:
я пытаюсь повлиять на атрибут набора из class.ts с помощью переменной в моем компоненте.ts ( угловой ), как это :
this.UserPaiemet.setDate(this.DateN)
IDE показывает мне эти ошибки :
Argument of type 'string | null' is not assignable to parameter of type 'String'.
Type 'null' is not assignable to type 'String'.
131 this.UserPaiemet.setDate(this.DateN)
я не знаю, как я могу это исправить .
Мой класс:
export class UserPaiemet
{
private id!:Number;
private date!:String;
private nbrmois!:Number;
}
И мой компонентный метод
date = new Date()
DateN = this.datePipe.transform(this.date, "yyyy-MM-dd")
UserPaiemet= new UserPaiemet()
updateUserPai()
{
this.UserPaiemet.setDate(this.DateN)
}
Комментарии:
1. Можете ли вы включить
this.dataPipe
код? Машинопись жалуется , что это может вернутьсяnull
, и тогда вы не сможете передать этоsetDate
.2. это библиотека каналов из angular , я объявляю ее в конструкторе » private DatePipe: DatePipe »
3. Вам просто нужно обработать возможную
null
ценность, исходящую отdatePipe.transform
. Сif
помощью, например
Ответ №1:
Пожалуйста, используйте следующее соглашение для объявления типов, например.(Строка -> строка)
export class UserPaiemet {
private id!: number;
private date!: string;
private nbrmois!: number;
}
date = new Date();
DateN = this.datePipe.transform(this.date, "yyyy-MM-dd") || ''; // or dummy date here
UserPaiemet = new UserPaiemet();
updateUserPai();
{
this.UserPaiemet.setDate(this.DateN);
}
Комментарии:
1. Также может быть в вашем случае
this.datePipe.transform
возвращается значение null, вам нужно будет это обработать
Ответ №2:
попробуйте изменить свои типы данных на строчные
export class UserPaiemet
{
private id:number;
private date:string;
private nbrmois:number;
}
Комментарии:
1. по-прежнему ничего не меняется
Ответ №3:
В javascript «число» является примитивным типом, «Число» вместо этого является типом объекта. В качестве сравнения в Java int и Integer (int-это тип примитива, целое число вместо типа объекта), поэтому в вашем случае число не равно числу. Но в вашем случае проблема в другом: вы не можете присвоить строковому типу значение null или string. Вероятно, среда ide плохо распознает тип объекта, поэтому попробуйте записать его в нижнем регистре и выполнить его.
в противном случае попробуйте это:
export class UserPaiemet
{
private id:number;
private date:string|null;
private nbrmois:number;
}