Za ty roky jsem si React.js a JSX zamiloval; stavové vykreslování a logický pracovní postup mě přiměly spatřit světlo tohoto moderního rámce. To neznamená, že nejsem někdy trochu frustrovaný z toho, že se „jednoduché“ věci zdají těžší, než by měly být. Získat odkaz na prvek a upravit jeho vlastnosti bývalo jednoduché, ale nyní musíte vzít v úvahu, že obvykle nemáte odkazy na prvky - musíte přemýšlet jiným způsobem. Naučil jsem se to, když jsem potřeboval nastavit zaškrtávací políčko inderterminate
property, vlastnost, která není rozpoznána pomocí atributu, taková, která vyžaduje handle na prvku a přímo nastavení vlastnosti.
Chcete-li přidat indeterminate
vlastnost na zaškrtávací políčko, potřeboval jsem využít výhody ref
atribut:
const { value, checked, indeterminate } = this.props return render( <input type="checkbox" value={value} checked={checked} ref={el => el && (el.indeterminate = indeterminate)} /> )
Od ref
se spouští při každém vykreslení, indeterminate
vlastnost je odpovídajícím způsobem aktualizována, a proto se zaškrtávací políčko zobrazí podle očekávání.
Bez ohledu na to, jak úžasně váš rámec vypadá, vždy existuje slepé místo, které vyžaduje trochu hacku, abyste dosáhli toho, co se očekává. To však framework dělá:dá vám 99 % toho, co potřebujete, a ztíží to 1 %!