Czasem wypada coś zmodyfikować na nieswojej stronie internetowej i tak jak ktoś lubi grzebać w bebechach nieswoich programów, w takim javascript poziom assembler.
class App extends React.Component {
count: number;
constructor(props: any) {
super(props);
this.count = 0;
}
inc() {
this.count += 1;
this.forceUpdate();
}
render() {
return <>
<div className="App">
<button onClick={() => this.inc()}>Test</button>
<p>Count: { this.count } </p>
</div>
</>
}
}
Nie mamy akurat dostępu do kodu źródłowego więc trzeba sobie inaczej poradzić :P
$(".App")[Object.getOwnPropertyNames($(".App"))[0]].return.stateNode.inc = () => { let x = document.querySelector(".App")[Object.getOwnPropertyNames(document.querySelector(".App"))[0]].return.stateNode; x.count += 100; x.forceUpdate(); }
Można odpalić w konsoli lub jako plugin.
Zmienne closures są gubione więc trzeba je odzyskać dlatego tyle kodu.
Taka inżyniera wsteczna Reacta, czasem gra w react nie będzie zbyt funkcjonalna to można ją rozbudować bez wiedzy autora :>
Dzisiaj ulepszyłem "szkicownik" z wczorajszego wpisu. Są ikony i opisy narzędzi oraz wybór koloru rysowania z palety, co widać na animacji.
Później dodałem narzędzia automatycznie rysujące prosty odcinek, prostokąt i koło. Wszystkich trzech używanmy rysując kształt jednym przeciągnięciem. Dla koła koniec przeciągnięcia oznacza jego środek, a początek punkt na obwodzie określający promień. Być może dodam jeszcze możliwość zapisania obrazu jako pliku, a potem udostępnię cały kod.
Pracuję nad prostym edyotem graficznym działającym w przegladarce i opartym o skrypty JavaScript oraz Canvas. Na razie można tylko rysować za pomocą narzędzia "ołówka", niewiele pracy dzieli mnie od dodania narzędzia zmazywania, wyświetlania opisów narzędzi na "pasku statusu" (już istniejącym i widocznym na dole) a potem możliwości zmiany koloru rysowania. Oczywiście przyciski wyboru narzędzia - te kwadraty na pionowym pasku narzędi - zyskają ikony. Ma to być projekt demonstracyjny na GitHuba.
Cześć!
Dzisiaj jeszcze garść krótkich ciekawostek o #react a później już zaczniemy może coś bardziej technicznego
ReactJS: 7 Ciekawostek:
Pełny post na https://programystics.com/reactjs/reactjs-7-ciekawostek/
Zostaw plusika, komentarz albo ... cokolwiek
Korzystasz z plików .env w projektach Node.js? Istnieją co najmniej dwa powody, dla których nie warto tego robić!
Pierwszym problemem z plikiem .env jest to... że jest plikiem. Pliki .env często zawierają wrażliwe wartości np. hasła czy sekrety. Istnieje kilka sposobów na omyłkowe upublicznienie tego pliku, takie jak dołączenie go do obrazu dockerowego czy przypadkowy commit do repozytorium. Ponadto, osoba uprawniona do odczytu pliku ma dostęp do wszystkich zmiennych w nim zawartych!
Drugim problemem z plikami .env jest... wbudowane wsparcie dla nich od Node.js 20.6.0. Dotychczas, jednym ze sposobów na pracę z plikami .env była paczka dotenv. Mimo dodania wsparcia w Node prawdopodobnie w wielu projektach ta paczka pozostanie... a jest to błąd! Dalsze wsparcie dla tej paczki, w kontekście ostatnich zmian w Node.js mija się z celem, przez co szansa na naprawianie błędów (w tym błędów bezpieczeństwa) maleje.
Sprawdź linki, by dowiedzieć się więcej:
Table Of Contents Hello Reader The problem with .env files Storing the...
https://dev.to/gregorygaines/stop-using-env-files-now-kp0Cześć Wam! Wracamy do gry, po burzliwym okresie w PL
Ostatnio pastwiliśmy się nad wadami Virutal DOM https://programystics.com/reactjs/wirutualny-dom-nie-taki-bez-wad/
Dziś przyszedł czas na jego... zalety. Jedną z nich poznaliśmy 2 posty wcześniej, lecz to tylko "liźnięcie" tematu.
Wirtualny DOM, to Świety Graal Frontendu?
Więcej na ten temat: https://programystics.com/bez-kategorii/wirtualny-dom-to-swiety-graal-frontendu/
ps jeśli chcesz się podzielić INNYMI doświadczeniami na w/w, to zapraszam do komentowania
@szatkus1: http://www.nowypompon.pl/sklep/htdocs/strony/nowypompon_stoisko.htm klasyk, nr 1 Nowego Pomponu - niestety, bardzo małe te miniaturki, ale pod wielkimi KENNEDY ŻYJE??!
drobnym drukiem jest Nie
.
@MrMadMatt: Powinienem był doprecyzować, mówiłem o nodejs na backend. Ja osobiście frontend teraz piszę w Rust :p
@Mateuszto: jeśli mówimy o froncie, to teraz sobie testuje bun