我在一个模态中渲染一个数组。一旦模态关闭,我需要清空数组。以下代码更新数组但不点击closeModal时不清除数组。
// Write swf file locally using file_put_contents();
$fileName = ""; // The filepath where you've written it to
header("Content-Type: application/x-shockwave-flash",true);
header("Content-Length: {strlen($fileName)}",true);
header("Accept-Ranges: bytes",true);
header("Connection: keep-alive",true);
header("Content-Disposition: inline; filename=$fileName");
readfile($fileName);
答案 0 :(得分:7)
我发现问题是我的closeModal在关闭模态时根本没有被调用。我这样做是为了关闭componentWillUnmount函数的closeModal。 我明白以下代码会导致问题。
this.state.myArray=[]
我把它改回了
this.setState({myArray: []});
答案 1 :(得分:1)
可以在此找到几个解释的解决方案(尽管在ES5中):
答案 2 :(得分:1)
这对我有用。
基于类的组件
this.setState({myArray: []});
使用 React Hook,
const [myArray, setMayArray] = React.useState([]);
setMayArray([]);
答案 3 :(得分:0)
您也可以在不使用setState的情况下使用它来清除数组:
this.state.your_array.length = 0;
这将在任何功能中起作用。
答案 4 :(得分:0)
this.state.array.splice();
这将删除或截断整个数组