Javascript 未捕获(承诺中)TypeError:无法读取未定义的属性“remove”
我犯了一个奇怪的错误 另一个答案是,这与不正当进口有关。我尝试过几种方法,比如var render\u product\u url=function。。。。诸如此类,一切都失败了 AddRendering.jsJavascript 未捕获(承诺中)TypeError:无法读取未定义的属性“remove”,javascript,reactjs,ecmascript-6,react-redux,Javascript,Reactjs,Ecmascript 6,React Redux,我犯了一个奇怪的错误 另一个答案是,这与不正当进口有关。我尝试过几种方法,比如var render\u product\u url=function。。。。诸如此类,一切都失败了 AddRendering.js import React from "react" export function add_rendering(headers, target_header, rendering_callback) { var new_headers = []; for (let i
import React from "react"
export function add_rendering(headers, target_header, rendering_callback) {
var new_headers = [];
for (let i = 0; i < headers.length; i++){
var this_header = headers[i];
if (this_header == target_header){
var header_object = {
title: target_header,
render: rendering_callback
};
new_headers.push(header_object);
} else {
new_headers.push(this_header);
}
}
return new_headers
}
function render_product_url(val, row) {
return (<a href={"http://www.website.com/product/" + row[target_header]} target="_blank">{row[target_header]}</a>)
}
export function render_product_url_in_datatable(headers, target_header) {
return add_rendering(
headers,
target_header,
render_product_url
)
}
最奇怪的是这部作品:
import React from "react"
export function add_rendering(headers, target_header, rendering_callback) {
var new_headers = [];
for (let i = 0; i < headers.length; i++){
var this_header = headers[i];
if (this_header == target_header){
var header_object = {
title: target_header,
render: rendering_callback
};
new_headers.push(header_object);
} else {
new_headers.push(this_header);
}
}
return new_headers
}
// function render_product_url(val, row) {
// return (<a href={"http://www.website.com/p/" + row[target_header]} target="_blank">{row[target_header]}</a>)
// }
export function render_product_url_in_datatable(headers, target_header) {
return add_rendering(
headers,
target_header,
function render_product_url(val, row) {
return (<a href={"http://www.website.com/p/" + row[target_header]} target="_blank">{row[target_header]}</a>)
}
)
}
我发现与普通语言相比,这种JS导入语法笨拙,但这对于JS来说是正常的
为什么不能使用JavaScript文件中别处声明的函数?这是在使用ES6和React。在AddRendering.js上,您是否没有发布缺少导入或其他内容的整个代码?或者您忘记将target_header作为参数包含在render_product_url函数中,但val参数是什么
function render_product_url(val, row) {
return (<a href={"http://www.website.com/product/" + row[target_header]} target="_blank">{row[target_header]}</a>)
}
奇怪的是,你甚至到了那里,因为target\u头不在范围内。我相信它正在传递它从render\u product\u url\u中得到的东西,在\u datatableheaders,target中_header@codyc4321,当它位于render_product_url_in_datatable中时,它可以从函数参数中获取,但在第一个示例中,另一个函数render_product_url在scope.ohhh上没有target_头,这是有意义的。在先前的导出/导入错误之后,我倾向于认为我的导出语法是错误的。谢谢如果你写回信,我会接受的
return add_rendering(
headers,
target_header,
function(val, row) {
..
}
function render_product_url(val, row) {
return (<a href={"http://www.website.com/product/" + row[target_header]} target="_blank">{row[target_header]}</a>)
}
import target_header from './path/to/target_header'; // in case of a default export
import {target_header} from './path/to/target_header'; // in case of name export