【问题标题】:Element implicitly has an 'any' type because expression of type 'string' can't be used to index type in React Typescript元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于在 React Typescript 中索引类型
【发布时间】:2022-01-07 06:30:31
【问题描述】:

我在我的 React-native 项目中使用 Typescript。代码按照所需的输出正常工作。但是遇到了 typescript 冲突。

分享我的代码 sn-ps

从其他配置文件导入 json 对象。

import api from 'config/api.json'

  languageSet = async (value: string) => {
  setStorageItem('language', value)
  this.setState({ setLoading: true })

  const language = await getStorageItem('language');

  if (language) {
    const baseURL = api[language][environment] ? api[language][environment].api : api[language].qa.api;
  
  }
  else {
    const baseURL = api.ch[environment] ? api.ch[environment].api : api.ch.qa.api;
  }
}

我想制作动态 baseURl,这就是为什么使用语言 const 来设置它的值。
我面临以下错误。

【问题讨论】:

  • 能分享一下API对象的结构吗?

标签: reactjs typescript react-native


【解决方案1】:

您需要在getStorageItem 函数上输入类型

试试这个方法

const language = await getStorageItem('language') as 'ch';

如果你有一些语言你可以做

const language = await getStorageItem('language') as 'ch' | 'other_language';

【讨论】:

    猜你喜欢
    • 2021-05-04
    • 2021-02-28
    • 2020-11-13
    • 2019-12-17
    • 2021-03-17
    • 2021-04-20
    • 1970-01-01
    • 2020-10-29
    • 2020-10-04
    相关资源
    最近更新 更多