iansinnott / iansinnott/react-string-replace

Couldn't use match index (replace function second arg) as a key

Abierto
#18 4 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
666
Forks
54
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hello! First of all, thanks for the nicest replacer for react. )))

There's a thing. I want to use index parameter in replacer function as a key for react to be happy and render all my replaced texts. If I do two replaces at a time, say

const firstStepTexts = reactStringReplace(myText, regex1, (match, i) => {match})
const second = reactStringReplace(firstStepTexts, regex2, (match, i) => {match})

Then, for initial string in pattern of `${match_second_regex_1} ${match_first_regex} ${match_second_regex_2}` replacer would set the same key for both second regex matches, and then react would blow up swallowing the second match span entirely.

What I did for now was embedding `offset` param from the new lib version, but that's not the real solution obviously.

What I could do right now is to call `.reduce` with running total index and not calling reactStringReplace on array, but that way I'm missing perfect lib api use-case. From the api point of lib, I could think of two possible things: 1) having second argument for replace function be running index, and not exact string match index; or 2) having another one argument with that index for replacer function.

First option would almost definitely break someone's workflow (https://xkcd.com/1172/), second one makes api clunky (arghhh, fourth parameter).

What's your opinion on this? I would be happy to help with code, but messing with api without your decision feels not a way to go.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.