Typescript: L'Argument de type 'RegExpMatchArray' n'est pas assignable au paramètre de type 'string'
j'ai l'expression suivante:
import { persistState } from 'redux-devtools';
const enhancer = compose(
applyMiddleware(thunk, router, logger),
DevTools.instrument(),
persistState(
window.location.href.match(/[?&]debug_session=([^&]+)b/)
)
);
j'obtiens un swiggly sur l'argument pour faire correspondre la fonction avec l'erreur suivante
Argument de type 'RegExpMatchArray' n'est pas assignable au paramètre de tapez 'string'. Correspond à une chaîne avec une expression régulière, et renvoie un tableau contenant les résultats de recherche. (méthode) Chaîne.match (regexp: RegExp): RegExpMatchArray (+1 surcharge)
la définition de peek dans VSCode montre:
match(regexp: string): RegExpMatchArray;
/**
* Matches a string with a regular expression, and returns an array containing the results of that search.
* @param regexp A regular expression object that contains the regular expression pattern and applicable flags.
*/
match(regexp: RegExp): RegExpMatchArray;
/**
* Replaces text in a string, using a regular expression or search string.
* @param searchValue A string that represents the regular expression.
* @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.
*/
Comme je le vois, l'argument est de type RegExp et est donc le paramètre dans la définition. Alors pourquoi le message d'erreur?
1 réponses
@NitzanTomer a raison. Ce n'est pas le paramètre "match functions" qui présente une inadéquation de type. Vous essayez certainement de stocker la valeur de retour de la fonction de correspondance dans une variable de chaîne tapée / le retourner à partir d'une fonction :string
/ le passer comme un paramètre string
.