Aquí está el código relevante-
CONFIG.theme.activeScheme ? react.createElement(SortBox, { onChange: this.updateColourScheme.bind(this), onnewschemes: this.setState({}), // TODO: Make this compatible with the changes to the theme install process: need to create a method to update the scheme options without a full reload. sortBoxOptions: generateSchemesOptions(CONFIG.theme.schemes), // It doesn't work when I directly use CONFIG.theme.activeScheme in the sortBySelectedFn // because it hardcodes the value into the fn sortBySelectedFn: (a) => a.key === this.getActiveScheme(), }) : null,
Mi resultado final preferido es poder recargar SOLO el componente sortbox usando un evento a través de onnewschemes (necesito actualizar todas las opciones dentro de un pequeño método desplegable desde fuera del renderizado). El despachador de eventos que tengo se ve al igual que:
const schemeSelector = document.querySelector("div.marketplace-header > div > div"); const newSchemeEvent = new CustomEvent("newschemes", { bubbles: true, detail: { schemes: () => parsedSchemes }, }); schemeSelector.dispatchEvent(newSchemeEvent);