第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我找不到一種方法來每次在 React 中創(chuàng)建元素時都獲得一個 css 過渡

我找不到一種方法來每次在 React 中創(chuàng)建元素時都獲得一個 css 過渡

POPMUISE 2022-08-04 16:49:44
我找不到一種方法,每次在 React 中創(chuàng)建元素時,它都會得到一個 css 過渡。我在 React 中創(chuàng)建了一個簡單的應(yīng)用程序,其中包含很少的組件和上下文。我希望在創(chuàng)建的每個“項目”組件上轉(zhuǎn)換不透明度。但我不知道怎么回事。每次單擊“項目”組件時,我都會設(shè)法更改類,但每次創(chuàng)建一個組件時,我都希望有一個過渡。我應(yīng)該在某個地方使用setTimeOut嗎?我應(yīng)該使用使用Effect嗎?這是我的代碼:// This is my Contextimport React, { createContext, useState, useEffect } from "react";export const Context = createContext();export const ContextProvider = (props) => {  const [currentProjects, setCurrentProjects] = useState(() => {    const localData = localStorage.getItem("currentProjects");    return localData ? JSON.parse(localData) : [];  });  useEffect(() => {    localStorage.setItem("currentProjects", JSON.stringify(currentProjects));    console.log("currentProjects got updated");  }, [currentProjects]);  return (    <Context.Provider value={[currentProjects, setCurrentProjects]}>      {props.children}    </Context.Provider>  );};這是我的項目列表組件import React, { useContext, useEffect } from "react";import Project from "./Project.js";import { Context } from "./Context.js";import "./ProjectList.css";const ProjectList = () => {  const [currentProjects, setCurrentProjects] = useContext(Context);  return (    <div className="ProjectListContainer">      {currentProjects.map((item) => {        return (          <Project            artist={item.artist}            project={item.project}            label={item.label}          />        );      })}    </div>  );};export default ProjectList;這是我的項目組件import React, { useContext, useEffect, useState, Component } from "react";import "./Project.css";const Project = ({ artist, project, label, light }) => {  //   const [status, setStatus] = useState({ clicked: false });  //   const divGotCliked = (e) => {  //     setStatus({ clicked: !status.clicked });  //   };  return (    <div className="ProjectContainer">      <div className="container1">        <div>          <h2>{artist} </h2>          <h2>{project} </h2>          <h2>{label} </h2>        </div>      </div>    </div>  );};export default Project;
查看完整描述

1 回答

?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

您可以使用不重復(fù)的關(guān)鍵幀動畫。當(dāng)元素出現(xiàn)時,將觸發(fā)此動畫。


document.querySelector('.add-box').onclick = () => {

  const box = document.createElement('div')

  box.className = 'box'

  document.body.append(box)

}

@keyframes appear {

  from {

    opacity: 0;

    transform-origin: left;

    transform: scale(0);

  }

}


.box {

  animation: appear .5s ease-in-out;

  transition: all .5s ease-in-out;

}


body {

  background: slategray;

  display: flex;

  flex-wrap: wrap;

}


button,

.box {

  background: pink;

  width: 3rem;

  height: 3rem;

  margin-left: 0.4rem;

  margin-bottom: 0.4rem;

}


button {

  background: aliceblue;

}

<button class="add-box">+</button>


查看完整回答
反對 回復(fù) 2022-08-04
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號