使用数据映射反应setstate
React setstate with datamaps?
我在这个例子中使用了Datamaps。我有一个Datamap,当在.datamaps-subunit.MI
中单击时,它会更改该部分的颜色。我还想在我的React状态中存储一个数字。但是,下面的代码会导致this.setState is not a function
错误。
lemap:function(){
var map = new Datamap({
element: document.getElementById('maincontains'),
scope: 'usa',
fills: {defaultFill: 'rgb(217, 217, 217)'},
done: function(datamap) {
datamap.svg.select('.datamaps-subunit.MI').on('click', function(geography) {
var m = {};
var bis = this;
m[geography.id] = 'pink';
datamap.updateChoropleth(m);
this.setState({trumpnum: 12});
});
}
});
},
通过在函数下面添加var sting = this
来修复它。
lemap:function(){
var sting = this;
var map = new Datamap({
element: document.getElementById('maincontains'),
scope: 'usa',
fills: {defaultFill: 'rgb(217, 217, 217)'},
done: function(datamap) {
datamap.svg.select('.datamaps-subunit.MI').on('click', function(geography) {
var m = {};
var bis = this;
m[geography.id] = 'pink';
datamap.updateChoropleth(m);
sting.setState({trumpnum: 12});
});
}
});
},
相关文章:
- 如何在映射数组中添加换行符
- ng映射方向备选方案
- 无法通过数组映射绑定
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 使用Scala Play Framework视图中的键检索映射值
- 淘汰映射;不起作用
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 映射数组ES6时考虑空值
- Lodash映射并返回唯一
- 如何对映射插件创建的敲除对象进行深度复制
- 在javascript中按映射中的值排序
- 使用带有两个参数的函数的javascript映射
- 在内部映射值时渲染方法中断
- JSON:获取映射数据
- HTML Dropdownlist未映射到MVC模型
- 使用Google Maps JavaScript API v3和Geocoding API映射多个位置
- immutable.js与嵌套映射/对象的比较/相等性能
- 修改数据后,setState不会触发重新渲染
- 从映射返回React渲染数组
- 使用数据映射反应setstate