* only call setstate after mounted

* version patch
This commit is contained in:
Dan Marshall 2023-10-05 21:49:59 -07:00 коммит произвёл GitHub
Родитель 0f9cfa4321
Коммит 610d506f8e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 13 добавлений и 4 удалений

4
packages/sanddance-explorer/package-lock.json сгенерированный
Просмотреть файл

@ -1,12 +1,12 @@
{
"name": "@msrvida/sanddance-explorer",
"version": "4.1.4",
"version": "4.1.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@msrvida/sanddance-explorer",
"version": "4.1.4",
"version": "4.1.5",
"license": "MIT",
"dependencies": {
"d3-format": "^1.3.2"

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "@msrvida/sanddance-explorer",
"version": "4.1.4",
"version": "4.1.5",
"description": "SandDance data exploration React component.",
"main": "dist/es6/index.js",
"repository": {

Просмотреть файл

@ -29,6 +29,7 @@ export interface State {
function _Renderer(_props: Props) {
class __Renderer extends base.react.Component<Props, State> {
private mounted: boolean;
constructor(props: Props) {
super(props);
@ -36,13 +37,21 @@ function _Renderer(_props: Props) {
if (!this.state.viewer?.presenter?.morphchartsref) {
const t = setInterval(() => {
const newState = this.getInitialState(props);
if (newState.viewer?.presenter?.morphchartsref) {
if (this.mounted && newState.viewer?.presenter?.morphchartsref) {
clearInterval(t);
this.setState(newState);
}
}, 10);
}
}
componentDidMount() {
this.mounted = true;
}
componentWillUnmount() {
this.mounted = false;
}
getInitialState(props: Props): State {
const { viewer } = props.explorer;