mirror of
https://github.com/github/codeql.git
synced 2025-12-18 09:43:15 +01:00
34 lines
1000 B
JavaScript
34 lines
1000 B
JavaScript
import { useState } from 'react';
|
|
|
|
function initialState() {
|
|
let [state, setState] = useState(window.name); // $ Source
|
|
return <div dangerouslySetInnerHTML={{__html: state}}></div>; // $ Alert
|
|
}
|
|
|
|
function setStateValue() {
|
|
let [state, setState] = useState('foo');
|
|
setState(window.name); // $ Source
|
|
return <div dangerouslySetInnerHTML={{__html: state}}></div>; // $ Alert
|
|
}
|
|
|
|
function setStateValueLazy() {
|
|
let [state, setState] = useState('foo');
|
|
setState(() => window.name); // $ Source
|
|
return <div dangerouslySetInnerHTML={{__html: state}}></div>; // $ Alert
|
|
}
|
|
|
|
function setStateValueLazy() {
|
|
let [state, setState] = useState('foo');
|
|
setState(prev => {
|
|
document.body.innerHTML = prev; // $ Alert
|
|
})
|
|
setState(() => window.name); // $ Source
|
|
}
|
|
|
|
function setStateValueSafe() {
|
|
let [state, setState] = useState('foo');
|
|
setState('safe');
|
|
setState(() => 'also safe');
|
|
return <div dangerouslySetInnerHTML={{__html: state}}></div>;
|
|
}
|