React Native如何从函数返回字符串

时间:2018-07-28 22:19:17

标签: reactjs react-native

我有一种方法-

export default getLink= () => {
    const url = 'http://....'
    return url;
}

我想将其用作-

import getLink from './link';

const linkUrl= `${getLink}/food/new`;

但是似乎getLink返回了我-

isfunction () {return'http://....';}/food/new

我如何仅返回http链接

2 个答案:

答案 0 :(得分:1)

您没有调用函数,而是将指向该函数的变量连接到另一个字符串。

您应该调用函数以获取其输出:

const linkUrl= `${getLink()}/food/new`;

由于您正在模板字符串中使用指向函数的变量,因此您获得的输出是该函数的字符串表示形式(即其代码),该表示是通过调用函数的.toString方法获得的。您可以尝试以下方法自己查看:

console.log(getLink.toString());

答案 1 :(得分:1)

您正在那里返回一个函数,因为您可以通过调用该函数并为其分配一个变量来获取值。

import getLink from './link';

const url = getLink();
const linkUrl= `${url}/food/new`;

此外,使用此代码,实际上您无法导出箭头功能那样的函数。如果您使用default,则不应在函数声明中使用名称来导出函数。

代替使用:

export default () => {
  const url = 'http://www.foo.com'
  return url;
};

或首先将其分配给变量,然后使用默认值:

 const getLink = () => {
  const url = 'http://www.foo.com'
  return url;
 };

 export default getLink;

另一种替代方法是使用命名导出而不是default

export const getLink = () => {
  const url = 'http://www.foo.com'
  return url;
}

然后将其导入为:

import { getLink } from "/.link";