奇怪的行为:我希望第一个和第二个 console.log 显示不同的结果,但它们显示相同的结果,并且仅在下次单击时更改值。我应该如何编辑我的代码以使值不同?
function App() {
const [count, setCount] = React.useState(false);
const test = () => {
console.log(count); //false
setCount(!count);
console.log(count); //false
};
return (
<div className="App">
<h1 onClick={test}>Hello StackOverflow</h1>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);Run Code Online (Sandbox Code Playgroud)
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="root"></div>Run Code Online (Sandbox Code Playgroud)
你可以在这里看到一个工作示例:https : //codesandbox.io/s/wz9y5lqyzk
我接下来在我的本机应用程序中使用 svg:
import TestLogo from "../../assets/TestLogo.svg";
<TestLogo />
Run Code Online (Sandbox Code Playgroud)
我以下一种方式使用背景图像:
import background from '../../assets/modules/auth/signUpPattern.png'
<ImageBackground source={background} style={{width: '100%', height: '100%', alignItems: 'center'}}>
Run Code Online (Sandbox Code Playgroud)
如果我使用下一个语法:
import Background from '../../assets/modules/auth/signUpPattern.svg'
<ImageBackground source={<Background />} style={{width: '100%', height: '100%', alignItems: 'center'}}>
Run Code Online (Sandbox Code Playgroud)
我有空白空间,不是 svg 图像背景,如何解决?