从 Yandex 翻译中获取结果

Posted

技术标签:

【中文标题】从 Yandex 翻译中获取结果【英文标题】:Getting results from Yandex translate 【发布时间】:2019-12-14 13:50:56 【问题描述】:

这是一个愚蠢的问题,但我正在使用 Yandex API 通过将西班牙语单词/短语粘贴到函数中来将单词从西班牙语翻译成英语。但是,我不知道如何从函数中实际返回翻译!如何让我的 changeString 方法返回 res.text[0]?

import React,  Component  from "react";

class Display extends Component 
  render() 
    return (
      <div>
        <button> this.changeString(this.props.translation) </button>
      </div>
    );
  

  changeString = spanishText => 
    var output = null;
    var translate = require("yandex-translate")(
      "API KEY"
    );

    translate.translate(spanishText,  to: "en" , function(err, res) 
      console.log(res.text)
    );
  ;


export default Display;

【问题讨论】:

【参考方案1】:

您可以将其设置为状态并对其进行更新以触发重新渲染。像下面这样

import React,  Component  from "react";

class Display extends Component 
  constructor(props) 
    super(props);
    this.state =  theWord: '' ;
  

  componentDidMount() 
    var output = null;
    var translate = require("yandex-translate")(
      "API KEY"
    );

    translate.translate('spanishText', to: "en" , (err, res) => 
      this.setState(theWord: res);
    );
  

  render() 
    return (
      <div>
        <button> this.state.theWord </button>
      </div>
    );
  


export default Display;

【讨论】:

我试过这个,它抱怨它“无法读取未定义的属性'setState'” @Perplexityy 将其更改为用于自动绑定的箭头函数。现在应该可以了 尝试改成componentDidMount = () => 但还是同样的错误! @Perplexityy 不是那部分。 translate.translate 函数的回调。再次检查我的代码,我更新了它 好的,但现在它不再翻译我的道具,它只是翻译“spanishText”

以上是关于从 Yandex 翻译中获取结果的主要内容,如果未能解决你的问题,请参考以下文章

如何在 yandex mapkit 中获取我当前位置的坐标?

如何获取 Yandex 全景图像

如何启用 Yandex 翻译 API?

Yandex Api 在 Eclipse 中无法正确翻译

Yandex API 翻译器不适用于 Android 应用程序

Yandex MapKit 3.0。获取屏幕和缩放的中心,在地图上获取位置