Skip to content

Natural index numbers on callback function聽#64

Open

Description

@hallaji

Hi there 馃憢

I have a situation where I'd like to replace the matched regex with my own array of nodes respectively. It would be great receiving natural index numbers 0, 1, 2 on callback instead of odd ones.

const nodes: React.ReactNodeArray

// [
//   <span key='something'>label</span>,
//   <h1 key='otherthing'>heading</h1>
// ]

reactStringReplace('These are my {} and {} and {} values.', /({})/g, (match, i) => {
  // odd index numbers
  return nodes[(i - 1) / 2]
})

Activity

  1. iansinnott commented on Jun 28, 2022

    @iansinnott
    Owner

    Hm, that would prob be more intuitive since no one needs to know how the iteration is taking place from the outside. Candidate for a v2 since that could potentially break functionality people are using, even if it wasn't intended functionality.

    In the meantime for anyone else needing this functionality I'd suggest the more verbose, less elegant counter approach.

    let count = -1;
    reactStringReplace('These are my {} and {} and {} values.', /({})/g, (match, _) => {
      count++;
      return nodes[count]
    })
  2. Nitue commented on Jul 13, 2022

    @Nitue

    I suggest adding a note to README.md about the returned index values for now. In my opinion, the currently returned values are quite unexpected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions