GithubHelp home page GithubHelp logo

search: ked dost rychlo kliknem na highlighnuty search result: Warning: setState(...): Can only update a mounted or mounting component. about freemap-v3-react HOT 9 CLOSED

freemapslovakia avatar freemapslovakia commented on July 3, 2024
search: ked dost rychlo kliknem na highlighnuty search result: Warning: setState(...): Can only update a mounted or mounting component.

from freemap-v3-react.

Comments (9)

petervojtek avatar petervojtek commented on July 3, 2024

Martin @zdila , zda sa mi ze ten problem sposobila tato zmena v organizacii headeru v main, ktora sposobuje ze Search komponent sa remountuje po kazdej zmene tool-u.

a to zretazenie ternarnych operatorov je podla mna dost nestastny napad.. je to zle zrozumitelne :(

from freemap-v3-react.

zdila avatar zdila commented on July 3, 2024

Pravda, react nevie, ze to je iny komponent, tak ho vytvori znova (facebook/react#3965). Opravil som to.

Inac zapis:

cond1 ? result1
  : cond2 ? result2
  : cond3 ? result3
  : result4;

je podla mna citatelny. Ale tu je jeho prepis ak ti toto pride citatelnejsie:

() => {
  switch (tool) {
    case 'a':
      return <A/>;
    case 'b':
      return <B/>;
    default:
      return <C/>;
  }
}()

from freemap-v3-react.

petervojtek avatar petervojtek commented on July 3, 2024

vdaka za fix.

switch je podla mna rovnako zly ako zretazeny ternarny operator (switch radsej vobec nepouzivam) -- podla mna je najlepsi obycajny if (bez zbytocnych krutenych zatvoriek :)

inak udivuje ma, ze tento problem frameworky uz davno vyriesili, len react znovyvymysla hranate koleso :), napr. v angulare by to bolo uplne jednoduche a prehladne:

<Search *ngIf="tool == 'search'" />

from freemap-v3-react.

zdila avatar zdila commented on July 3, 2024

Zase davas zle porovnanie.

Aj v angulari by to muselo byt: <Search *ngIf="tool !== 'objects' && tool !== 'route-planner'" />

V reacte je to teraz: {tool !== 'objects' && tool !== 'route-planner' && <Search/>}

from freemap-v3-react.

zdila avatar zdila commented on July 3, 2024

switch je podla mna rovnako zly ako zretazeny ternarny operator

dost subjektivny nazor :-)

Vyhoda switchu je ze porovnavas jednu hodnotu s ostatnymi. Naproti tomu v if/else-if/else moze byt kazda podmienka ina, takze je to zlozitejsia konstrukcia.

from freemap-v3-react.

petervojtek avatar petervojtek commented on July 3, 2024

mas pravdu, ale ani jedno z toho nie je switch case. obe su implicitne if-y.

switch je problematicky preto, lebo mu rozumie menej programatorov, a ked pouzivas viac programacich jazykov, niekdy nevies ci tam nechyba nejaky break a aka je presne syntax. if je silny najma vtedy, ked si nehadzes polena pod nohy lint pravidlom ze aj pri jednoriadkovo obsahu if-u musia byt krutene zatvorky :)

from freemap-v3-react.

zdila avatar zdila commented on July 3, 2024

switch je problematicky preto, lebo mu rozumie menej programatorov

Toto ma nepresvedci aby som to prestal pouzivat. Ak robi programator v javascripte, musi povinne rozumiet vsetkym jeho konstruktom. A switch/case je v C, PHP, Java, C# a rozne obdoby v inych jazykoch.

from freemap-v3-react.

petervojtek avatar petervojtek commented on July 3, 2024

no, z mojej skusenosti je najlepsie pisat co najjednoduchsi kod (najpr. pouzivat iba if a nie switch a ternarny operator),lebo potom dokaze po tebe prevziat kod iny clovek rychlejsie, a takisto tym znizis latku pre novych prispievatelov, co je pri opensource projekte podla mna vyhoda. napriklad tym ze sme zvolili react a redux sme podla mna odpisali vsetkych ktori co i len teoreticky mohli prispiet do codebase freemap v3-- lebo vacsina z potencialnych kandidatov nanajvys rozumie html a jquery, ale react sa kvoli freemap 3 ucit nebudu.

from freemap-v3-react.

zdila avatar zdila commented on July 3, 2024

Tak to sme mali ostat pri plain JS (ECMA Script 5), jquery a PHP na serveri. Tomu rozumie najviac ludi. Ziaden babel ani nic :-). Co vychadza ze sme mali dalej lepit sucastny freemap portal ;-).

Ale moj nazor je, ze programatora, ktory sa nezvladne (nema ochotu) naucit technologie, ktore su sucasne trendy, nechcem na projekte ani vidiet.

from freemap-v3-react.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.