iansinnott / iansinnott/react-string-replace

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

Aperta
#18 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
666
Fork
54
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.