草庐IT

javascript - React - 将 `this` 绑定(bind)到导入的函数

在我的React应用程序中,我希望能够跨几个类似的组件访问一些函数...但是,我想将this绑定(bind)到共享函数这样他们就可以做一些事情,比如更新组件状态等......但是,似乎导入函数然后尝试以“典型”React方式绑定(bind)this是行不通的。这是我想要完成的示例-在这种情况下,单击呈现的按钮将从导入的共享函数文件中调用函数并更新组件状态://shared_functions.jsconstsharedFunctions={testFunction=()=>{this.setState({functionWasRun:true})}}//MyComponent.jsxi

javascript - 就在我认为我终于理解了 Javascript 作用域的时候

我遇到了一些事情,这说明我显然还不明白。谁能解释一下为什么“this”的值会在下面发生变化?varMyFunc=function(){alert(this);varinnerFunc=function(){alert(this);}innerFunc();};newMyFunc(); 最佳答案 在JavaScript中,this表示函数被调用的上下文对象,而不是它被定义的范围(或它被调用的范围).对于MyFunc,this引用正在创建的新对象;但是对于innerFunc,它引用全局对象,因为调用innerFunc时没有指定上下文。这

javascript - 我如何 setInterval 调用类中的函数

我有一个类:functionrun(){this.interval;this.start=function(){this.interval=setInterval('this.draw()',1000);};this.draw=function(){//somecode};}varrun=newrun();run.start();但是我似乎无法在setInterval中引用/调用this.draw(),它说this.draw()不是一个函数,如果我删除了它说无用的setInterval调用的引号,我做错了什么? 最佳答案 bind(

javascript - 在 React-Native 中访问 this.state

嗨,我是React的新手,请多多包涵。我想将地理位置存储为一个状态。看起来很漂亮,因为位置的任何变化都会触发渲染,这正是我想要的。在开发过程中,我有一个按钮,通过访问lastPosition手动触发事件。但是当我这样做的时候。状态是“未定义”。有什么线索吗?exportdefaultclassFetchProjectextendsComponent{constructor(props){super(props);this.state={initialPosition:'unknown',lastPosition:'unknown',};}//codethatsetslastpositi

javascript - 如何在 Typescript 的回调函数中访问 'this'?

这个问题在这里已经有了答案:Howtoaccessthecorrect`this`insideacallback(13个答案)关闭6年前。一旦调用回调,我试图将在类开头声明的变量(bool值)设置为true,但我不断收到TypeScript错误。这里是错误:TypeError:Cannotsetproperty'nonReceived'ofundefined这是我的代码:finalizeToken(){braintree.setup(JSON.parse(this.finalToken),'dropin',{container:'dropin-container',defaultFir

javascript - React JS - 实时时钟更新

我有一个时钟函数可以获取时间并显示小时、分钟和秒,我正在尝试实时更新屏幕上的数据,但由于某种原因我的setInterval函数没有执行此操作我期待。我以为react的render方法应该是实时渲染数据。我需要ajax吗?谁能提供一些建议?varCityRow=React.createClass({render:function(){varcurrentdate=newDate();functiongetTime(){//getlocaltimebasedontheUTCoffsetthis.hours=currentdate.getUTCHours()+parseInt(this.pr

javascript - 是否可以只映射数组的一部分? (数组.map())

我正在构建一个使用React.js作为前端框架的项目。在一个特定页面上,我向用户显示了完整的数据集。我有一个包含这个完整数据集的数组。它是一个JSON对象数组。就向用户呈现此数据而言,我目前通过使用Array.map()返回每个数据项来显示整个数据集。这是朝着正确方向迈出的一步,但现在我只需要显示数据集的一部分,而不是全部,我还想要一些控制,以了解总数据集有多少已经被显示显示,以及有多少数据集尚未显示。基本上我正在构建类似“查看更多”按钮的东西,它可以向用户加载更多数据项。这是我现在使用的,其中“feed”代表我的JSON对象数组。(这显示了整个数据集。)return({feed.ma

javascript - ES6 类 - 从事件处理程序中调用方法

我正在尝试为当前项目中的交互式日历编写一个ES6类。该类类似于以下内容:classCalendar{constructor(s){this.eventButtons=s.eventButtons;this.eventButtons.forEach(button=>button.addEventListener('click',this.method1);this.eventBoxes=s.eventBoxes;method1(e){e.preventDefault();this.method2(e.target.href);}method2(url){console.log(url);

javascript - undefined 不是一个对象(评估 '_this2.props.navigation.navigate' ) - React Native

我真的无法让我的导航正常工作。我正在使用react-navigation(StackNavigator)。这是我的结构:http://i.imgur.com/IKExx9g.png我的导航在HomeScreen.js中工作:我从HomeScreen.js导航到NewScreen.js没有问题。App.js:importReactfrom'react';import{StatusBar,AppRegistry}from'react-native';import{StackNavigator}from'react-navigation';import{HomeScreen}from'./s

Javascript 表单提交 : Object doesn't support this property or method (IE7)

我正在尝试使用javascript提交表单。Firefox工作正常,但IE在此函数的提交行上提示“对象不支持此属性或方法”:functionsubmitPGV(formName,action){vargvString="";pgVisibilities.each(function(pair){gvString+=pair.key+":"+pair.value+",";});$('pgv_input').value=gvString;varform=$(formName);form.action=action;form.submit();}在这里调用:这是表格:有什么想法吗?