reactjs - 为什么功能组件在使用 useEffect 时再次运行
问题描述
这是我的代码....不应该只在 useeffect 运行中编写代码吗?为什么我的整个功能组件代码都运行?当我运行它时,窗口警报出现两次
这是我的代码:
const Editbookfunctionalcomponent = () => {
let { i,isb,n } = useParams();
window.alert(n)
let history = useHistory();
const dispatch = useDispatch();
const book = useSelector((state) => state.allreducers);
const [name, setName] = useState("");
const [isbn, setIsbn] = useState("");
const [image, setImage] = useState("");
useEffect(() => {
console.log("useEffect");
}, [book]);
const onUpdateContact = (e) => {
e.preventDefault();
const update_book = Object.assign(book, {
name: name,
isbn: isbn,
image: image,
});
dispatch(updateBook(i,update_book));
history.push("/")
};
return (
<div className="card border-0 shadow">
</div>
);
};
解决方案
推荐阅读
- python - 在 ubuntu 18.04.1 LTS 上保存 jupyter notebook/python 文件
- python - 为什么我的 python 多处理脚本在 Windows 上运行而不在 Linux 上运行?
- c# - 在 UWP 应用和 .NET Core 之间共享库
- ios - 我尝试通过 CocoaPods 实现 SQLite3 库以使用 SQLite,它给了我一个我不明白的错误
- c - 如何通过UART发送多个端口的数据?
- python-3.x - 无法创建分发
- r - 删除行时删除了索引标签,我要解决这个问题吗?
- ansible - 在 ansible play 中调试不使用_items
- javascript - 有没有办法在不使用 JQuery 的情况下打开 iframe onclick?
- liquibase - 如何加快 Liquibase 的执行速度?