169 похожих чатов

Здравствуйте. Вопрос по реакту. При создании компонента в реакте (классом)

наследуюсь от React.Component, затем использую метод render(). Не могу понять, откуда render() знает что ему делать? Разве мой класс не должен перезаписывать или создавать этот метод даже если его нету в родительском.

32 ответов

19 просмотров

Если метод не переопределяют и он используется - значит от самодостаточный

Sarvar- Автор вопроса
Bohdan Bida 🇺🇦
Если метод не переопределяют и он используется - з...

а как это понимать? самодостаточный? я просто недавно начал изучать реакт

Sarvar
а как это понимать? самодостаточный? я просто неда...

Стоит больше углубится в нативный джс и ооп (+ функциональное можно)

Sarvar- Автор вопроса
Bohdan Bida 🇺🇦
Стоит больше углубится в нативный джс и ооп (+ фун...

просто в нативном js если родительский класс имеет например метод render и я переопределяю его в наследуемом то выполняется то что в наследуемом

Sarvar- Автор вопроса
Bohdan Bida 🇺🇦
Стоит больше углубится в нативный джс и ооп (+ фун...

например: class Component { render() { console.log("Output from Component class") } } class App extends Component { render() { console.log("Output from App class") } } const app = new App(); app.render()

Bohdan Bida 🇺🇦
Стоит больше углубится в нативный джс и ооп (+ фун...

JS и ООП ? не издевательство? Понимаю, если бэк - php..

Sarvar
просто в нативном js если родительский класс имеет...

Ну так если не переопределяешь то в родителе Вот и вся логика Рендеру не надо знать шо там у тебя

Sarvar
просто в нативном js если родительский класс имеет...

так и есть, только в React.Component твой метод render() используется, вот и все

Сан Саныч
JS и ООП ? не издевательство? Понимаю, если бэк -...

Издевательство не изучать джс когда есть новомодные фреймворки и библиотеки

Sarvar- Автор вопроса
Sergey Patrakeev
так и есть, только в React.Component твой метод re...

render () { <div className="App"> </div>... } а так он разве не переопределяется?

Sarvar
render () { <div className="App"> </div>... } ...

да переопределяется, просто в React.Component скорее всего есть метод, который юзает твой рендер, который ты определил у себя в классе

Sarvar- Автор вопроса
Sarvar- Автор вопроса
Sergey Patrakeev
да переопределяется, просто в React.Component скор...

у них ведь это на уровне тайпскрипта происходит или в нативном js всё проворачивается?

Sarvar
у них ведь это на уровне тайпскрипта происходит ил...

Тайпскрипт никакой магии не делает, тс => джс

Sarvar- Автор вопроса
Sergey Patrakeev
тс компилится в js

а как тогда он юзает render который у меня в классе? просто впервые слышу чтобы родительский класс мог использовать метод дочернего

Sarvar
а как тогда он юзает render который у меня в класс...

хорошо, твой класс юзает методы от React.Component, если так понятнее)

Sarvar- Автор вопроса
Sergey Patrakeev
хорошо, твой класс юзает методы от React.Component...

только вот при использовании разве не происходит переопределение?

Sarvar- Автор вопроса
Sergey Patrakeev
дак оно и должно происходить)

ну окей, есть метод render() в React.Component я беру этот метод и переопределяю так по идее этот метод полностью перезаписывается в моём классе и теряет свою функциональность, не?

Sarvar
ну окей, есть метод render() в React.Component я б...

class Component { something() { console.log('this is render result: ' + render()); } render() {} } class Abc extends Component { render() { return '<div>hello world</div>'; } } // где то под капотом реакта const abc = new Abc(); abc.something(); Как думаешь что выведет?))

Sarvar- Автор вопроса
Bohdan Bida 🇺🇦
class Component { something() { console.log('...

ааа дошло, выведит this is result: <div>Hello world!</div>

Sarvar- Автор вопроса
Bohdan Bida 🇺🇦
Верно

Спасибо большое, дошло

Sarvar- Автор вопроса
Bohdan Bida 🇺🇦
Верно

И еще вопрос, значит под капотом реакта используется наш класс с рендером?

Sarvar
И еще вопрос, значит под капотом реакта использует...

Ну я не реактовик, и сходу даже не вспомнил что за метод такой render() у реакта Но предполагаю что все так

Sarvar- Автор вопроса
Bohdan Bida 🇺🇦
Ну я не реактовик, и сходу даже не вспомнил что за...

ясно, скорее получает в index.js куда импортируется мой класс. Спасибо еще раз.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта