ToCode
Open in Telegram
1 419
Subscribers
No data24 hours
No data7 days
-230 days
Posts Archive
1 419
# 讛讬讜诐 诇诪讚转讬: const 讘转讜讱 诇讜诇讗转 for 讘 JavaScript
讻砖专拽 讛转讞讬诇 讻诇 讛 ES6 讜诇诪讚转讬 注诇 诇讜诇讗转 for..of 讛讞讚砖讛 讻转讘转讬 讛专讘讛 驻注诪讬诐 拽讜讚 砖谞专讗讛 讻讱:
const data = [10, 20, 30];
for (const x of data) {
console.log(x);
}
砖讬诪讜 诇讘 诇砖讬诪讜砖 讘 const 讘注转 讛讙讚专转 诪砖转谞讛 讛诇讜诇讗讛.
讘讗讜转讛 转拽讜驻讛 讚驻讚驻谞讬诐 诇讗 讗讛讘讜 讗转 讝讛. 讗谞讬 讗驻讬诇讜 诇讗 讝讜讻专 诇诪讛 讗讘诇 转诪讬讚 讛讬讛 讗讬讝讛 讚驻讚驻谉 砖讻注住 注诇讬讬 砖诪砖转谞讛 诇讜诇讗讛 讞讬讬讘 诇讛讬讜转 诪讜讙讚专 讘讗诪爪注讜转 let. 诪驻讛 诇砖诐 讛砖谞讬诐 注讘专讜 讜讛讬讜诐 讘诪拽专讛 谞讬住讬转讬 诪讞讚砖 诇讻转讜讘 讗转 讛诇讜诇讗讛 注诐 const 讜专讗讬转讬 砖讛讻诇 注讜讘讚 讘讻诇 讛讚驻讚驻谞讬诐 讜讙诐 讘 node. 讘讚讬拽讛 拽爪专讛 讘专砖转 讛专讗转讛 砖讛拽讜讚 讙诐 讻转讜讘 诇驻讬 讛转拽谉 讜诇讻谉 讝讛 讛讜诇讱 诇讛讬砖讗专.
讗讝 讗诐 讙诐 讗转诐 诪注讚讬驻讬诐 转诪讬讚 const 注诇 驻谞讬 let 转砖诪讞讜 诇讙诇讜转 注讜讚 诪拽讜诐 讘讜 const 注讜讘讚.1 419
# 砖讗诇转 专讗讬讜谞讜转 注讘讜讚讛: 专拽讜专住讬讛 讘 Node.JS
谞转讜谞讛 讛驻讜谞拽爪讬讛:
export const generateId = async (domain_id: number = null) => {
const address = generate(
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
env.LINK_LENGTH
);
const link = await query.link.find({ address, domain_id });
if (!link) return address;
return generateId(domain_id);
};
1. 诪讛 讛驻讜谞拽爪讬讛 注讜砖讛?
2. 讛讗诐 讬砖 讘注讬讛 讘拽讜讚?
3. 讛讗诐 讛讘注讬讛 爪驻讜讬讛 诇讙专讜诐 诇谞讝拽 讘注讜诇诐 讛讗诪讬转讬?
4. 诪讛 讛讬讬转诐 注讜砖讬诐 讗讞专转?
## 转砖讜讘讜转
谞转讞讬诇 讘诪讘讟 专拽 注诇 讛驻讜谞拽爪讬讛 讘诇讬 诇讛讻讬专 讗转 讛拽讜谞讟拽住讟 诪住讘讬讘: 讛驻讜谞拽爪讬讛 诪拽讘诇转 诪住驻专 讘驻专诪讟专 砖谞拽专讗 domain_id 讜诪驻注讬诇讛 驻讜谞拽爪讬讬转 注讝专 讘砖诐 generate. 诪讗讞专 讜 generate 诪拽讘诇转 驻专诪讟专 专讗砖讜谉 砖谞专讗讛 讻诪讜 专砖讬诪转 转讜讜讬诐 讗驻砖专讬讬诐, 讜驻专诪讟专 砖谞讬 讘砖诐 砖讻讜诇诇 讗转 讛诪讬诇讛 讗讜专讱, 讗谞讬 诪转讗专 诇注爪诪讬 砖讛驻讜谞拽爪讬讛 generate 诪讙专讬诇讛 诪讞专讜讝转 讗拽专讗讬转 诪专砖讬诪转 讛转讜讜讬诐 讛讗驻砖专讬讬诐 讜讘讗讜专讱 砖注讘专 讘驻专诪讟专 讛砖谞讬. 诪诪砖讬讻讬诐 诇讞讬驻讜砖 (讗讜诇讬 讘讘住讬住 谞转讜谞讬诐?) 讗讜讘讬拽讟 砖诪转讗讬诐 诇诪讞专讜讝转 砖讬爪专谞讜, 讗诐 拽讬讬诐 讗讞讚 诪讞讝讬专讬诐 讗讜转讜 讜讗诐 诇讗 拽讬讬诐 诪谞住讬诐 诇讛讙专讬诇 诪讞专讜讝转 讞讚砖讛, 注讚 砖谞诪爪讗 诪讞专讜讝转 砖诇讗 拽讬讬诪转 讘诪讗讙专.
注讚 诇驻讛 转讬讗讜专 讛驻讜谞拽爪讬讛 讘诇讬 砖讜诐 拽讜谞讟拽住讟 讞讬爪讜谞讬, 讜讗谞讬 讞讜砖讘 砖讬砖 驻讛 诪住驻讬拽 诪讬讚注 讻讚讬 诇注谞讜转 讙诐 注诇 砖诇讜砖转 讛砖讗诇讜转 讛讘讗讜转.
讘注讬讛 专讗砖讜谞讛 讘拽讜讚 讛讬讗 讛专拽讜专住讬讛. 诪讗讞专 讜 Node.JS 诇讗 转讜诪讱 讘讗讜驻讟讬诪讬讝爪讬讬转 讝谞讘 讛专拽讜专住讬讛 讗谞讞谞讜 诪住转讻谞讬诐 讘诇讜诇讗讛 砖转讬爪讜专 注讜讚 讜注讜讚 驻专讬讬诪讬诐 注诇 讛诪讞住谞讬转 注讚 砖讘住讜祝 转讬讻砖诇 讘讙诇诇 Stack Overflow. 讛住讘讬专讜转 诇谞讝拽 讘注讜诇诐 讛讗诪讬转讬 谞诪讜讻讛 讻讬 讘住讬讟讜讗爪讬讛 讘讛 讗谞讞谞讜 诪讙专讬诇讬诐 诪讝讛讛 讜专讜爪讬诐 砖讬讛讬讛 讬讬讞讜讚讬 讘讚专讱 讻诇诇 讗谞讞谞讜 讘讜讞专讬诐 诪专讗砖 讗讜专讱 砖讬诪讝注专 讗转 讛住讬讻讜讬 诇讛转谞讙砖讜讬讜转, 讜诇讻谉 讗驻讬诇讜 讻谞讬住讛 讗讞转 诇转讜讱 讛专拽讜专住讬讛 讛讝讗转 讗诪讜专讛 诇讛讬讜转 谞讚讬专讛.
讘注讬讛 砖谞讬讛 讘拽讜讚 拽砖讜专讛 诇拽讜谞讟拽住讟 砖拽爪转 讞住专 诇谞讜 讻讗谉 讗讘诇 讗驻砖专 诇讚诪讬讬谉. 讛驻讜谞拽爪讬讛 谞拽专讗转 generateId 讜诇讻谉 讛讬讗 讻谞专讗讛 讗诪讜专讛 诇讛讞讝讬专 诪讝讛讛 讬讬讞讜讚讬 砖诇 诪砖讛讜. 讗谞讞谞讜 专讜讗讬诐 讙诐 砖讛讬讗 诪转讗诪爪转 诇诪爪讜讗 诪讝讛讛 讬讬讞讜讚讬 诇驻谞讬 砖诪讞讝讬专讛 讗讜转讜. 讗讘诇 诪专讙注 砖讛讬讗 "诪爪讗讛" 诪讝讛讛 讛讬讗 驻砖讜讟 诪讞讝讬专讛 讗讜转讜 讜住讜诪讻转 注诇 讝讛 砖讛诪讝讛讛 讬讬砖讗专 讬讬讞讜讚讬 讘拽讜讚 砖爪专讬讱 讗讜转讜. 讗讘诇 讗讬谉 砖讜诐 讚讘专 讘拽讜讚 砖诪讘讟讬讞 讗转 讝讛. 谞讚诪讬讬谉 诪爪讘 砖讛拽讜讚 专抓 诪转讜讱 砖专转 讜砖谞讬 讙讜诇砖讬诐 诪讘爪注讬诐 驻注讜诇讛 讘讚讬讜拽 讘讗讜转讜 讝诪谉. 讘诪爪讘 讻讝讛 砖谞讬 拽讟注讬 讛拽讜讚 砖诪专讬爪讬诐 讗转 generateId 注砖讜讬讬诐 诇拽讘诇 讗转 讗讜转讜 讛诪讝讛讛 讜讗讞讚 诪讛诐 讬讬讻砖诇 讘讻转讬讘讛 诇讘住讬住 讛谞转讜谞讬诐.
讙讬砖讛 讟讜讘讛 讬讜转专 转讛讬讛 诇讛讝讬讝 讗转 讛讘讚讬拽讛 驻谞讬诪讛 讻诪讛 砖讬讜转专 拽专讜讘 诇讻转讬讘讛 诇讘住讬住 讛谞转讜谞讬诐: 诪住驻讬拽 讛讬讛 诇讛砖转诪砖 讘诪讞专讜讝转 讛专讗砖讜谞讛 砖讛讜讙专诇讛 讘转讜专 讛诪讝讛讛 讜讗讜转讛 诇讛讞讝讬专, 讜诇讜讜转专 注诇 讛讘讚讬拽讛 砖讗讜诇讬 讝讛 讻讘专 拽讬讬诐. 讗诐 讘讻转讬讘讛 诇讘住讬住 讛谞转讜谞讬诐 谞拽讘诇 讛驻专讛 砖诇 讗讬谞讚拽住 讬讬讞讜讚讬 注诇 讛注诪讜讚讛 讗讝 谞转驻讜住 讗转 讛砖讙讬讗讛 讜谞谞住讛 诇讛讙专讬诇 诪讝讛讛 讞讚砖.1 419
# 讛诪讟讜讟诇转
讗转 专讜讘 讛讟讻谞讜诇讜讙讬讜转 砖诇诪讚转讬 诇讗 讛讬讬转讬 讬讻讜诇 诇诇诪讜讚 讘诇讬 驻专讜讬拽讟 讗诪讬转讬 讘拽爪讛, 讘讬谉 讗诐 驻专讜讬拽讟 诇诇拽讜讞 讗讜 驻专讜讬拽讟 注爪诪讗讬 砖诇讬. 讛驻专讜讬拽讟 诇讗 讞讬讬讘 诇讛讬讜转 讞诇拽 诪转讛诇讬讱 讛诇讬诪讜讚, 讗讘诇 讛谞讜讻讞讜转 砖诇讜 讬讜爪专转 诪讞讜讬讘讜转: 讗谞讬 爪专讬讱 诇讚注转 讗转 讛讚讘专讬诐 讛讗诇讛 讻讚讬 诇讘谞讜转 讗转 讛讚讘专 讛讝讛 砖讗谞讬 专讜爪讛 诇讘谞讜转.
讜诪专讙注 砖讛讻谞住转讬 诇转诪讜谞讛 驻专讜讬拽讟 诪注砖讬 谞讜爪专转 诪讟讜讟诇转: 爪讚 讗讞讚 砖诇讛 讛讜讗 讛注讘讜讚讛 注诇 讛驻专讜讬拽讟, 讞讬驻讜砖 诪诪讜拽讚 砖诇 驻讬转专讜谞讜转 讜专讬爪讛 诪讛讬专讛 讻讚讬 诇讛讙讬注 诇诪砖讛讜 注讜讘讚 讻诪讛 砖讬讜转专 诪讛专; 爪讚 砖谞讬 砖诇讛 讛讜讗 拽专讬讗转 住驻专 诪拽爪讜注讬, 爪驻讬讛 讘拽讜专住 讜讬讚讗讜 讜诇讬诪讜讚 诪注诪讬拽 砖诇 讛讻诇讬 讜讛讘注讬讜转 讛专诇讜讜谞讟讬讜转.
砖讜讜讛 诇砖讬诐 诇讘 诇转谞讜注转 讛诪讟讜讟诇转 讘转讛诇讬讱 讛诇讬诪讜讚, 讜诇讛砖拽讬注 讗转 讛讝诪谉 讘砖谞讬 讛爪讚讚讬诐. 诇讬诪讜讚 转讬讗讜专讟讬 讘诇讘讚 讬砖讗讬专 讗转讻诐 转拽讜注讬诐 讻砖转讙讬注讜 诇讻转讜讘 讗转 砖讜专转 讛拽讜讚 讛专讗砖讜谞讛; 诇讬诪讜讚 诪注砖讬 讘诇讘讚 讬讙专讜诐 诇讻诐 诇注砖讜转 讟注讜讬讜转 讗讜 诇讻转讜讘 驻讬转专讜谞讜转 诪住讜专讘诇讬诐 诇讘注讬讜转 砖诇讗 讛讘谞转诐 注讚 讛住讜祝.
1 419
# 诪转讞讬诇讬诐 讘拽讜谞讟拽住讟
讛专讘讛 讗谞砖讬诐 讬住转讻诇讜 注诇 讛诪讬诪讜砖 讛专拽讜专住讬讘讬 诇驻讜谞拽爪讬讬转 驻讬讘讜谞讗爪'讬 讘讘讛诇讛:
def fib(n):
if n <= 1:
return 1
return fib(n-1) + fib(n-2)
"讗讬谉 讘讝讛 砖讜诐 讛讙讬讜谉" 讛诐 讬讙讬讚讜. 讛专讬 讛诪讬诪讜砖 讛讗讬讟专讟讬讘讬 诪砖诪注讜转讬转 讬讜转专 讬注讬诇:
def fib(n):
x, y = 1, 1
for i in range(n):
x, y = y, x + y
return x
讗讜转讛 转讜爪讗讛, 讗讜转讜 讗讜专讱 砖诇 拽讜讚 讜讛专讘讛 驻讞讜转 讞讬砖讜讘讬诐.
诪转讜讱 讛住讬驻讜专 讛讝讛 讗驻砖专 讘讟注讜转 诇讞砖讜讘 砖讗讬谉 讟注诐 诇讻转讜讘 拽讜讚 专拽讜专住讬讘讬, 砖讗讬谉 爪讜专讱 诇诇诪讜讚 专拽讜专住讬讛 讗讜 砖专拽讜专住讬讛 讝讛 住转诐 砖讟讬拽 砖诇 诪讚注讬 讛诪讞砖讘 讻讚讬 诇住讘讱 诇住讟讜讚谞讟讬诐 讗转 讛讞讬讬诐. 讘讞讬讬诐 讛讗诪讬转讬讬诐 讗祝 讗讞讚 诇讗 诪砖转诪砖 讘讝讛.
讜诇诪讛 讝讜 讟注讜转? 讻讬 讗讬 讗驻砖专 诇驻住讜诇 砖讬讟转 注讘讜讚讛 专拽 讘讙诇诇 砖讛讬讗 诇讗 诪转讗讬诪讛 诇诪拽专讛 诪住讜讬诐. 讻砖诪讚讘专讬诐 注诇 专拽讜专住讬讛, 谞住讜 诇讻转讜讘 拽讜讚 砖讬讚驻讬住 讗讜讘讬拽讟 JSON 诇讻诇 注讜诪拽讜 注诐 讻诇 转转讬 讛诪驻转讞讜转 讜转讙诇讜 砖讛驻讬转专讜谉 讛专拽讜专住讬讘讬 讛讜讗 诪砖诪注讜转讬转 讬讜转专 驻砖讜讟 讜讬讜转专 拽专讬讗. 诪讗讜讚 拽诇 诇讛讘讬谉 专拽讜专住讬讛 讻砖诪转讞讬诇讬诐 诪讘注讬讛 砖讚讜专砖转 驻讬转专讜谉 讻讝讛.
讜讗讜转讜 讻诇诇 注讜讘讚 讙诐 讘诪拽专讛 讛讻诇诇讬: 讻砖讗谞讞谞讜 诪讙讬注讬诐 诇诇诪讜讚 讟讻谞讬拽讛 讞讚砖讛 讛诪拽讜诐 讛讻讬 讟讜讘 诇讛转讞讬诇 讘讜 讛讜讗 讛拽讜谞讟拽住讟, 讻诇讜诪专 "诪转讬 诪砖转诪砖讬诐 讘讝讛?" 转砖讜讘讛 讟讜讘讛 诇砖讗诇讛 讝讜 讛讬讗 讛讘住讬住 讻讚讬 诇讛讘讬谉 "讗讬讱 讝讛 注讜讘讚?".1 419
# 砖驻讜转 讛驻讬转讜讞 讛讻讬 诪讘讜拽砖讜转
讙讬拽讟讬讬诐 驻讬专住诪讜 专砖讬诪讛 砖诇 砖驻讜转 讛驻讬转讜讞 讛讻讬 诪讘讜拽砖讜转. 诇讗 诪驻转讬注 诇诪爪讜讗 砖诐 讗转 JavaScript, 驻讬讬转讜谉, Java, Node.JS 讜讗驻讬诇讜 C++.
诪讞驻砖讬 注讘讜讚讛 砖诪住转讻诇讬诐 注诇 专砖讬诪讛 讻讝讗转 注诇讜诇讬诐 诇拽讘诇 讗转 讛专讜砖诐 砖讛讚专讱 讛讻讬 讟讜讘讛 诇讛讙讚讬诇 讗转 讛住讬讻讜讬 诇诪爪讜讗 注讘讜讚讛 讛讬讗 诇诇诪讜讚 讻诪讛 砖讬讜转专 讟讻谞讜诇讜讙讬讜转. 讗诐 讗讚注 讙诐 JavaScript, 讙诐 驻讬讬转讜谉 讜讙诐 Java 讗讝 讬讝诪讬谞讜 讗讜转讬 诇讬讜转专 专讗讬讜谞讜转 讜讻讱 讘讟讜讞 讗诪爪讗 诪砖讛讜. 讛专讘讛 驻注诪讬诐 讬砖 驻讛 转讛诇讬讱 讗讘讜诇讜爪讬讜谞讬: 讗诐 诇诪讚转讬 讻讘专 专讬讗拽讟 讜注讚讬讬谉 诇讗 注讘专转讬 专讗讬讜谉, 讻谞专讗讛 砖讗谞讬 爪专讬讱 诇讚注转 讙诐 讗谞讙讜诇专, 讜讗讝 讙诐 谞讜讚, 讜讗讝 讙诐 Java.
讬讜转专 诪讚讜讬拽 讜诪讜注讬诇 诇专讗讜转 砖讬砖 讗谞砖讬诐 讜谞砖讬诐 砖诪转拽讘诇讬诐 诇诪砖专转 诪转讻谞转 React 讜讗讞专讜转 砖诪转拽讘诇讜转 诇诪砖专转 诪转讻谞转转 Angular, 讗讘诇 讬讛讬讛 拽砖讛 诇诪爪讜讗 诪砖专讛 砖讚讜专砖转 讬讚注 讘砖转讬 讛住讘讬讘讜转. 讗诐 诇讗 讛转拽讘诇转 诇诪砖专转 诪转讻谞转转 专讬讗拽讟, 讝讛 讘讙诇诇 砖讗转 (注讚讬讬谉) 诇讗 诪住驻讬拽 讟讜讘讛 讘专讬讗拽讟. 讙诐 讗诐 注砖讬转 拽讜专住, 讙诐 讗诐 讻转讘转 驻专讜讬拽讟, 讜讗驻讬诇讜 讗诐 注讘讚转 讘讝讛 讘注讘专. 讛驻讬转专讜谉 讛讜讗 诇讛讘讬谉 讗转 讛驻注专 讜诇住讙讜专 讗讜转讜.
诪转讜讱 10 砖驻讜转 讛转讻谞讜转 讛诪讘讜拽砖讜转 讘讬讜转专 讘讗专抓, 诪住驻讬拽 诇讚注转 讗讞转 讘专诪讛 诪住驻讬拽 讟讜讘讛 讻讚讬 诇诪爪讜讗 注讘讜讚讛.
1 419
# 砖转讬 诪砖专讜转 诪转讻谞转
讬砖 讘转注砖讬讛 讛讬讜诐 砖转讬 诪砖专讜转 诪讗讜讚 砖讜谞讜转 砖谞拽专讗讜转 讘讟注讜转 讘讗讜转讜 讛砖诐. 讬砖 诪转讻谞转讬诐 讘转注砖讬讛 砖谞讚专砖讬诐 诇驻转讜专 讘注讬讜转 讞讚砖讜转 讘讚专讻讬诐 讬爪讬专转讬讜转. 诇讘谞讜转 专讻讬讘讬诐 讞讚砖讬诐 讜诇讚讗讜讙 砖讛转砖转讬转 转讛讬讛 诪住驻讬拽 讬爪讬讘讛 讻讚讬 砖讗驻砖专 讬讛讬讛 诇讛诪砖讬讱 诇讛专讞讬讘 讗讜转讛 讜诇讘谞讜转 注诇讬讛 讘注转讬讚.
讜讬砖 诪转讻谞转讬诐 砖讛转驻拽讬讚 讛诪专讻讝讬 砖诇讛诐 讛讜讗 "专拽 诇讗 诇砖讘讜专", 砖爪专讬讻讬诐 诇讛砖转诪砖 讘讻诇讬诐 砖诪讬砖讛讜 讗讞专 讘谞讛 讻讚讬 诇驻转讜专 讘注讬讜转 讘诇讬 诇注砖讜转 讬讜转专 诪讚讬 谞讝拽, 砖诪住转讻诇讬诐 讘驻讞讚 注诇 讛拽讜讚 讜诇讗 讬讻讜诇讬诐 诇砖谞讜转 讗驻讬诇讜 拽讜讚 讬砖谉 讜讙专讜注 讻讬 诪讬 讬讜讚注 诪讛 注诇讜诇 诇讛讬砖讘专.
注讻砖讬讜 讘讜讗讜 谞讚讘专 注诇 讛诪注讘专 讘讬谉 讛诪砖专讜转:
1. 注讜讚 讝诪谉 讘诪砖专转 "专拽 诇讗 诇砖讘讜专" 诇讗 讬讬转谉 诇讻诐 讗转 讛谞讬住讬讜谉 讛讚专讜砖 诇注讘讜讚 讘诪砖专讛 讬爪讬专转讬转. 讗诐 讻讘专 诇讛讬驻讱 - 转专讘讜转 注讘讜讚讛 讛讬讗 讚讘专 诪讚讘拽 讜讻讻诇 砖讗转讛 转拽讜注 讬讜转专 讝诪谉 讘讞讘专讛 注诐 转专讘讜转 砖诇 驻讞讚 讻讱 讬讛讬讛 诇讱 讬讜转专 拽砖讛 诇讛讬驻专讚 诪讝讛.
2. 诇讬诪讜讚 驻专讬讬诪讜讜专拽 讞讚砖 讗讜 讟讻谞讜诇讜讙讬讛 讞讚砖讛 诇讗 讬注讝讜专 诇讻诐 诇注讘讜专 诇诪砖专讛 讬爪讬专转讬转. 诇诪专讜转 砖讝讛 谞专讗讛 诪讘讞讜抓 讻讗讬诇讜 讻诇 讛讗谞砖讬诐 讘诪砖专讜转 讛诪讚诇讬拽讜转 注讜讘讚讬诐 讛讬讜诐 讘 Svelte; 讛讘注讬讛 讛讗诪讬转讬转 砖诇讻诐 讛讬讗 诇讗 讛驻专讬讬诪讜讜专拽 讗诇讗 转专讘讜转 讛注讘讜讚讛.
3. 讗驻砖专 诇注砖讜转 讗转 讛砖讬谞讜讬 诪讘驻谞讬诐, 讗讘诇 讝讛 讚讬 拽砖讛 - 讻砖诪讜驻注诇 注诇讬讻诐 诇讞抓 诇讘谞讜转 讬讜转专 驻讬爪'专讬诐 诪诪讛 砖讘讻诇诇 讗驻砖专讬 诇讛住驻讬拽 讘讬讜诐, 讻砖讛讻诇讬诐 驻讜注诇讬诐 谞讙讚讻诐 讜讻砖讻诇 讚讘专 砖讗转诐 注讜砖讬诐 谞诪讚讚, 讝讛 讚讬 拽砖讛 诇讛转讞讬诇 诇讛讻谞讬住 驻专拽讟讬拽讜转 砖诇 讘讚讬拽讜转 讗讜讟讜诪讟讬讜转, Code Reviews, Pair Programming, 讛专爪讗讜转 讛注砖专讛, 转专讘讜转 砖诇 Refactoring 讜讻诇讬 谞讬讛讜诇 讙讬专住讗讜转 讟讜讘讬诐 讬讜转专. 讘讟讜讜讞 讛专讞讜拽 讻诇讬诐 讗诇讛 讬砖驻专讜 讗转 讛驻专讜讚讜拽讟讬讘讬讜转 讜讬讞住讻讜 诇讻诐 讝诪谉 讝讛 谞讻讜谉, 讗讘诇 讻专讙注 讬砖 讬讜转专 诪讚讬 砖专讬驻讜转 诪讻诇 讛讻讬讜讜谞讬诐.
讜讘讻诇 讝讗转 讛诪注讘专 讛讞讜爪讛 诪诪砖专转 "专拽 诇讗 诇砖讘讜专" 讛讜讗 讛讚讘专 讛讻讬 讟讜讘 砖转讜讻诇讜 诇注砖讜转 讘砖讘讬诇 讛拽专讬讬专讛 砖诇讻诐. 转专讘讜转 注讘讜讚讛 讛讬讗 诪讚讘拽转 讜讗谞砖讬诐 砖注讘讚讜 注诐 讛讻诇讬诐 讛谞讻讜谞讬诐 讜讘转讛诇讬讻讬 注讘讜讚讛 讘专讬讗讬诐 诇注讜诇诐 诇讗 讬专爪讜 诇讞讝讜专 讗讞讜专讛 诇讻讬讘讜讬 砖专讬驻讜转.
爪注讚 专讗砖讜谉 讟讜讘 讘诪注讘专 讛讜讗 诇砖讬诐 诇讘: 诇砖讬诐 诇讘 讻诪讛 诪讛讝诪谉 砖诇讬 讘诪讛诇讱 讛讬讜诐 诪讜砖拽注 讘砖讬驻讜专 转讛诇讬讻讬 注讘讜讚讛, 讘砖讬驻讜专 讛拽讜讚 讜讘讘谞讬转 转砖转讬讜转 讜讻诪讛 诪讜拽讚砖 诇谞讬住讬讜谉 诇讞讘专 讘诪住拽讬谞讟讬讬驻 讞诇拽讬诐 砖诇讗 讗诪讜专讬诐 诇讛转讞讘专 讬讞讚 讗讜 诇讛砖转诪砖 注拽讜诐 讘转砖转讬讜转 专拽 讘讙诇诇 砖讝讛 讻讘专 诪讛 砖讻转讜讘. 诇砖讬诐 诇讘 讗讬讱 讛讬讛 谞专讗讛 讛讬讜诐 砖诇讬 讗诐 讻谉 讛讬讬转讬 讬讻讜诇 诇砖谞讜转 拽讜讚 讬砖谉 讜讗讬讝讛 转讛诇讬讻讬诐 转讜诪讻讬诐 讗谞讬 爪专讬讱 讻讚讬 诇讛专讙讬砖 讘讟讜讞 讘砖讬谞讜讬 讛讝讛, 讜讗讝 诇讗讟 诇讗讟, 诇谞住讜转 诇诪爪讜讗 讗转 讛讚专讻讬诐 诇讛讻谞讬住 转讛诇讬讻讬诐 讻讗诇讛 诇讗专讙讜谉 讘讜 讗谞讬 谞诪爪讗.
讗谞讬 诪讻讬专 讛专讘讛 诪讗讜讚 讗谞砖讬 QA 砖讛转讞讬诇讜 诇讻转讜讘 诇讘讚 讘讚讬拽讜转 讗讜讟讜诪讟讬讜转 讘住转专 讻讚讬 诇讞住讜讱 诇注爪诪诐 讝诪谉, 讜讘住讜祝 讻诇 讛讗专讙讜谉 讛砖转诪砖 讘讘讚讬拽讜转 讗诇讛. 讗谞讬 诪讻讬专 诪转讻谞转讬诐 砖讛讻谞讬住讜 git 讘住转专 诇驻专讜讬拽讟, 拽讜讚诐 讻诇 专拽 讗爪诇诐 注诇 讛诪讻讜谞讛 讜诇讗讟 诇讗讟 讗谞砖讬诐 讗讞专讬诐 "谞讚讘拽讜" 讘讝讛 讜讛专诪讛 讘讻诇 讛讗专讙讜谉 注诇转讛. 诪驻讜专住诐 讘诪讬讜讞讚 讛讜讗 拽谉 转'讜诪驻住讜谉, 讛诪诪爪讬讗 砖诇 诪注专讻转 讛讛驻注诇讛 Unix, 砖讛诪砖讬讱 诇注讘讜讚 注诇讬讛 讘住转专 讗讞专讬 砖讛诪谞讛诇讬诐 讘讬讟诇讜 讗转 讛驻专讜讬拽讟 讜讘住讜祝 诪注专讻转 讛讛驻注诇讛 砖诇讜 讛驻讻讛 诇住讟谞讚专讟 讘转讜讱 讛讗专讙讜谉 讜诪讞讜爪讛 诇讜. 讙诐 讗诐 讗转诐 转拽讜注讬诐 讘诪砖专转 "专拽 诇讗 诇砖讘讜专" 讬砖 注讚讬讬谉 诪讛 诇注砖讜转 - 讜讗讞专讬 砖转爪诇讬讞讜 诇注砖讜转 讗转 讝讛 讛讞讬驻讜砖 讗讞专 讛注讘讜讚讛 讛讘讗讛 讬讛讬讛 讛专讘讛 讬讜转专 拽诇.
1 419
# 诇诇诪讜讚 诪讗谞砖讬诐 讟讜讘讬诐
讗讞转 讛拽诇讬砖讗讜转 讛讬砖谞讜转 讘讛讬讬讟拽 讗讜诪专转 砖诪住驻讬拽 诇讛住转讻诇 讘专砖讬诪转 讛讞讘专讜转 讘拽讜专讜转 讛讞讬讬诐 砖诇讱 讻讚讬 诇讚注转 讗诐 讻讚讗讬 诇讛注住讬拽 讗讜转讱. 讛讛讬讙讬讜谉 讛讜讗 砖讬砖 讞讘专讜转 砖讬爪讗 诇讛谉 讻讘专 砖诐 砖砖诐 注讜讘讚讬诐 讗谞砖讬诐 专爪讬谞讬讬诐, 讜诇讻谉 讗诐 讛爪诇讞转 诇讛讬讻谞住 诇讞讘专讛 讻讝讗转 讜诇讛讬砖讗专 砖诐 诪住驻讬拽 讝诪谉, 讗讝 讛讗谞专讙讬讛 讛专爪讬谞讬转 转讬讚讘拽 讙诐 讘讱.
讙诐 讗诐 讗谞讞谞讜 诇讗 讘讟讜讞讬诐 讻诪讛 专砖讬诪转 讛讞讘专讜转 讘拽讜专讜转 讛讞讬讬诐 砖诇谞讜 讘讗诪转 诪砖驻讬注讛 注诇 讛住讬讻讜讬 砖讬讝诪讬谞讜 讗讜转谞讜 诇专讗讬讜谉, 讬砖 讚讘专 讗讞讚 砖拽诇 诇专讗讜转: 讛转拽砖讜专转 讘专讗讬讜谉 注讘讜讚讛 谞专讗讬转 讗讞专转 诇讙诪专讬 讻砖讛诪专讗讬讬谉 讜讛注讜讘讚 讛驻讜讟谞爪讬讗诇讬 诪讚讘专讬诐 讘讗讜转讛 砖驻讛. 讜讘砖讘讬诇 诇讚讘专 讘讗讜转讛 砖驻讛 诪讗讜讚 诪讜诪诇抓 诇注讘讜讚 讘转专讘讜转 讚讜诪讛 诇讝讜 砖讛诪专讗讬讬谉 砖诇讱 注讜讘讚 讘讛. 讛谞讛 专砖讬诪讛 讞诇拽讬转 砖诇 谞讜砖讗讬诐 砖诪讘讚讬诇讬诐 讘讬谉 诪转讻谞转讬诐 讘诇讬 拽砖专 诇砖驻转 讛转讻谞讜转 讗讜 讛驻专讬讬诪讜讜专拽:
1. 讻诪讛 讛注专讜转 讻讜转讘讬诐 讘拽讜讚 (讜讻诪讛 诪讬讚注 谞砖诪专 讘讛讜讚注转 拽讜诪讬讟 讘讙讬讟)
2. 讘讗讬讝讛 讞诇拽 讘诪注专讻转 诇讛讜住讬祝 讗讜 诇注讚讻谉 讗转 讛拽讜讚 注讘讜专 砖讬谞讜讬 诪住讜讬诐?
3. 讘讻诪讛 诪拽专讬 拽爪讛 爪专讬讱 诇讟驻诇? 讜讘讗讬讝讛?
4. 诇讗讬讝讛 砖讬谞讜讬讬诐 注转讬讚讬讬诐 爪专讬讱 诇讛讬注专讱? 讜诇讗讬讝讛 诇讗?
5. 诪讛 讛讚专讬砖讛 诪讘讞讬谞转 讘讬爪讜注讬诐 砖诇 讛驻讬爪'专 砖讗谞讬 注讻砖讬讜 讻讜转讘?
6. 讗讬讱 讗谞讬 诪爪驻讛 砖讬专讗讛 讛讗讬驻讬讜谉 砖讗谞讬 诪拽讘诇 诇驻谞讬 砖讗谞讬 讬讻讜诇 诇讛转讞讬诇 诇注讘讜讚?
7. 诪讛 讛讬讞住 砖诇讬 诇驻讬讚讘拽? 讘讗讬讝讜 诪讬讚讛 讗谞讬 诪住讜讙诇 诇谞讛诇 讚讬讜谉 专爪讬谞讬 注诇 讛拽讜讚 砖讻转讘转讬?
专诪转 讛诪讬讜诪谞讜转 砖诇谞讜 讘住注讬驻讬诐 讗诇讛 讜讚讜诪讬诐 诇讛诐 转砖驻讬注 讘爪讜专讛 诪讜专讙砖转 注诇 讗讜驻讬 讛砖讬讞讛 讘专讗讬讜谉 注讘讜讚讛 讜注诇 讛转驻拽讜讚 砖诇谞讜 讘注讘讜讚讛 诪专讙注 砖谞转拽讘诇. 讛讘注讬讛 讻诪讜讘谉 砖讘讛讬讬讟拽 诪注住讬拽讬诐 诇讗 讗讜讛讘讬诐 诇拽讞转 住讬讻讜谞讬诐 讜诇讻谉 讗诐 讬砖 住驻拽 诇讙讘讬 诪砖讛讜 讛讛谞讞讛 讛讬讗 砖讗转诐 诇讗 讟讜讘讬诐 讘讜.
讜注讻砖讬讜 讗谞讞谞讜 诪转拽专讘讬诐 诇谞拽讜讚讛 讛诇讬诪讜讚讬转 讜诇讛砖驻注讛 砖诇 讛住讘讬讘讛 注诇 讛转驻拽讜讚 砖诇谞讜. 讘砖讘讬诇 诇砖驻专 讻诇 讗讞转 诪讛诪讬讜诪谞讜讬讜转 讘专砖讬诪讛 砖诇讬 爪专讬讱 诇注讘讜讚 讘砖讬转讜祝 驻注讜诇讛 注诐 讗谞砖讬诐 砖专讜讗讬诐 诪砖讛讜 砖讗谞讬 诇讗 专讜讗讛. 讗诇讛 讚讘专讬诐 砖爪专讬讱 诇讚讘专 注诇讬讛诐, 诇砖诪讜注 注讜讚 讚注讜转, 诇讛讞诇讬讟 诪砖讛讜 讜讗讝 诇专讗讜转 讻注讘讜专 讻诪讛 讞讜讚砖讬诐 讗诐 讛讛讞诇讟讛 讛讬转讛 讟讜讘讛.
讗诐 讗转诐 讻讘专 讛讬讜诐 注讜讘讚讬诐 讘讞讘专讛 讘讛 讛谞讜砖讗讬诐 讛讗诇讛 注讜诇讬诐 诇讚讬讜谉 讜讗转诐 诪专讙讬砖讬诐 砖讗转诐 诪砖转驻专讬诐 讘讛诐 讘讬讜诐 讬讜诐 讝讛 诪注讜诇讛. 讗诐 诇讗 讬砖 诇讻诐 砖转讬 讗驻砖专讜讬讜转:
1. 讗驻砖专 诇讞驻砖 讘谞讜住祝 诇注讘讜讚讛 住讘讬讘讜转 诇讬诪讜讚 讗诇讟专谞讟讬讘讬讜转 讘讛谉 讻谉 转讜讻诇讜 诇注讘讜讚 注诇 诪讬讜诪谞讜讬讜转 讗诇讛. 拽讜讚 驻转讜讞 讛讜讗 讛讚讜讙诪讛 讛专讗砖讜谞讛 砖拽讜驻爪转 诇专讗砖, 讗讘诇 讬砖 讙诐 驻专讜讬拽讟讬诐 讛转谞讚讘讜转讬讬诐 讟讜讘讬诐 讜讛讗拽转讜谞讬诐 讘讛诐 讗驻砖专 诇驻讙讜砖 讜诇注讘讜讚 注诐 讗谞砖讬诐 砖讬注讝专讜 诇谞讜 诇讛驻讜讱 诇诪转讻谞转讬诐 讟讜讘讬诐 讬讜转专.
2. 讗讜 砖讗驻砖专 诇谞住讜转 诇砖诇讘 转讛诇讬讻讬 驻讬转讜讞 诪讬讜诪谞讜转 讘诪拽讜诐 讛注讘讜讚讛 讛谞讜讻讞讬 砖诇讻诐. 诇讚讜讙诪讛 诇讗专讙谉 驻注诐 讘砖讘讜注 诪驻讙砖 (讝讜诐) 讘讜 诪讬砖讛讜 诪住讘讬专 注诇 讟讻谞讜诇讜讙讬讛 讞讚砖讛, 诇注讜讚讚 转专讘讜转 砖诇 Code Reviews, 诇讝讛讜转 转讛诇讬讻讬 注讘讜讚讛 砖讗驻砖专 诇砖驻专 讜诇讛爪讬注 诇砖驻专 讗讜转诐. 讻讻诇 砖转爪诇讬讞讜 诇讬爪讜专 转专讘讜转 砖诇 砖讬驻讜专 讘转讜讱 讛爪讜讜转 讻讱 专诪转 讛诪讬讜诪谞讜转 砖诇 讻讜诇诐 转注诇讛.
1 419
# 诪讛 讘讗诪转 讛讜驻讱 讗讜转谞讜 诇诪转讻谞转讬诐 讟讜讘讬诐 讬讜转专?
讘讛谞讞讛 (讛诪讗讜讚 住讘讬专讛) 砖讗谞讞谞讜 诇讗 谞讜诇讚讬诐 注诐 "讬讻讜诇转 转讻谞讜转" 讗诇讗 砖讝讛 诪砖讛讜 砖讗谞讞谞讜 讬讻讜诇讬诐 诇讛转讗诪谉 注诇讬讜 讜诇砖驻专 讗讜转讜, 诪注谞讬讬谉 诇砖讬诐 诇讘 讗讬讝讛 讚讘专讬诐 讛讜驻讻讬诐 讗讜转谞讜 诇诪转讻谞转讬诐 讟讜讘讬诐 讬讜转专 - 诇诪转讻谞转讬诐 砖讬讜转专 拽诇 诇讛诐 诇转拽砖专 注诐 诪转讻谞转讬诐 讟讜讘讬诐 讗讞专讬诐, 砖诪爪诇讬讞讬诐 诇诪爪讜讗 注讘讜讚讛 讘拽诇讜转 专讘讛 讬讜转专, 诇诪转讻谞转讬诐 砖讻讜转讘讬诐 拽讜讚 砖讗讞专讬诐 专讜爪讬诐 诇拽专讜讗 讜砖诪爪诇讬讞讬诐 讘专讙注 诇讛爪讬注 驻讬转专讜谞讜转 讬爪讬专转讬讬诐 讜讟讜讘讬诐 诇讘注讬讜转.
讛谞讛 讛专砖讬诪讛 砖诇讬 (讛讞诇 诪讛诪砖诪注讜转讬 讘讬讜转专 讜讘住讚专 讞砖讬讘讜转 讬讜专讚):
1. 诇注讘讜讚 注诐 讗谞砖讬诐 讟讜讘讬诐 讜诇诇诪讜讚 诪讛诐.
2. 诇注讘讜讚 讘住讘讬讘讛 注诐 转讛诇讬讻讬 驻讬转讜讞 讟讜讘讬诐.
3. 诇讛砖拽讬注 讝诪谉 讘讘讬爪讜注 Refactoring 诇拽讜讚 砖诇讬 (讻讬 讘 Refactoring 讗谞讬 讞讜砖讘 诪讞讚砖 注诇 讛讘注讬讜转 讜诪砖驻专 讗转 讛驻讬转专讜谞讜转 讛讬砖谞讬诐 砖诇讬).
4. 诇讛爪讬讙 驻讬转专讜谞讜转 砖讻转讘转讬 诇拽讛诇 讞讻诐 讜注讜讬谉.
5. 诇驻转讜专 讗转讙专讬诐 诪注谞讬讬谞讬诐.
6. 诇诇诪讜讚 砖驻转 转讻谞讜转 讞讚砖讛 讗讜 驻专讬讬诪讜讜专拽 讞讚砖 (讻讬 讗讜诇讬 讚专讻诐 讗谞讬 讗拽讘诇 专注讬讜谞讜转 诇砖讬讟讜转 讞砖讬讘讛 讞讚砖讜转).
7. 诇讛拽砖讬讘 诇讛专爪讗讜转 诪拽爪讜注讬讜转 讗讜 诇拽专讜讗 住驻专讜转 诪拽爪讜注讬转.
诪转讻谞转讬诐 讟讜讘讬诐 讬讜转专 讘诪诪讜爪注 诪专讜讜讬讞讬诐 讬讜转专, 诪讜爪讗讬诐 注讘讜讚讛 讬讜转专 讘拽诇讜转 讜讬讜转专 拽诇 诇讛诐 诇诪爪讜讗 注讘讜讚讛 讘住讘讬讘转 注讘讜讚讛 讘专讬讗讛. 讘讛讬谞转谉 讛讗驻砖专讜转, 砖讜讜讛 诇讛转讗诪抓 讜诇诪爪讜讗 讗转 讛讚专讻讬诐 诇讛转讗诪谉 注诇 讻诇 讗讞讚 诪讛住注讬驻讬诐.
1 419
# 讗专讘注讛 砖诇讘讬诐 讘转讛诇讬讱 诇讬诪讜讚 讜讛拽砖讬讬诐 讘诪注讘专 讘讬谞讬讛诐
讘讻诇 驻注诐 砖讗谞讞谞讜 诪转讞讬诇讬诐 诇诇诪讜讚 诪讬讜诪谞讜转 讞讚砖讛 讗谞讞谞讜 讛讜诇讻讬诐 诇注讘讜专 讘讗专讘注 讛转讞谞讜转 讛讘讗讜转:
1. 诇讗 讬讜讚注 砖讗谞讬 诇讗 讬讜讚注 - 讛转讞谞讛 讛专讗砖讜谞讛 讛讬讗 谞拽讜讚转 讛讛转讞诇讛. 讗谞讬 专讜爪讛 诇诇诪讜讚 Vue 讗讘诇 讗讬谉 诇讬 诪讜砖讙 诪讛 讝讛 讘讻诇诇 讜诪讛 爪专讬讱 诇诇诪讜讚. 讗谞讬 专拽 讬讜讚注 砖讬砖 讗转 讛讚讘专 讛讝讛 砖讗谞讬 爪专讬讱 诇讚注转 讜讗谞讬 注讚讬讬谉 诇讗 讬讜讚注 讗讜转讜. 讗谞讬 讗讜讛讘 讗转 讛砖诇讘 讛讝讛 讻讬 驻讛 讬砖 讛讻讬 讛专讘讛 诪讜讟讬讘爪讬讛, 讛讻诇 谞专讗讛 诪注谞讬讬谉 讜讬砖 讗讬谞住讜祝 诪拽讜专讜转 诪讬讚注 专诇讜讜谞讟讬诐. 讛诪讻砖讜诇 讛诪专讻讝讬 讘砖诇讘 讛讝讛 讛讜讗 讛转讞讜砖讛 砖讛讻诇 拽诇 诪讚讬, 砖讗谞讬 诪讘讬谉 讗转 讝讛 讜砖讗驻砖专 诇讛诪砖讬讱 讛诇讗讛.
2. 讬讜讚注 砖讗谞讬 诇讗 讬讜讚注 - 转讞谞讛 砖谞讬讛 (诪讻讜谞讛 讙诐 "讗讬讝讛 讚讬讻讗讜谉 讗讬谉 诪爪讘 砖讗爪诇讬讞 讗转 讝讛") 讗诇讬讛 讗转讛 诪讙讬注 讻砖讗转讛 诪讘讬谉 砖讛讚讘专 讛讝讛 砖转讻谞谞转 诇诇诪讜讚 讛讜诇讱 诇讛讬讜转 讛专讘讛 讬讜转专 诪住讜讘讱 诪诪讛 砖讞砖讘转 讘讛转讞诇讛. 讝讛 讛诪拽讜诐 砖讘讜 讗转讛 诪转讞讬诇 诇专讗讜转 讗转 讛讛讬拽祝 砖诇 讻诇 讛讚讘专讬诐 砖讗转讛 诇讗 讬讜讚注, 讜诪讘讬谉 诇诪讛 讬砖 讻诇 讻讱 讛专讘讛 住驻专讬诐 砖诇 诪讗讜转 注诪讜讚讬诐 注诇 讟讻谞讜诇讜讙讬讛 讝讜. 讛诪讻砖讜诇 讛诪专讻讝讬 讘砖诇讘 讛讝讛 讛讜讗 讛转讞讜砖讛 砖讝讛 讙讚讜诇 注诇讬讱, 砖爪专讬讱 讬讜转专 诪讚讬 讛砖拽注讛 讘砖讘讬诇 诇讛讬讜转 讟讜讘 讘讝讛 讜砖讘注爪诐 讝讛 诇讗 讻讝讛 讞砖讜讘. 讗诐 转爪诇讬讞讜 诇讛转讙讘专 注诇 讛转讞讜砖讜转 讛讗诇讛, 诇注砖讜转 转讜讻谞讬转 讜诇讛诪砖讬讱 诇诇诪讜讚 讘住讜祝 转讙讬注讜 诇转讞谞讛 讛砖诇讬砖讬转.
3. 讬讜讚注 砖讗谞讬 讬讜讚注 - 讛转讞谞讛 讛砖诇讬砖讬转 讛讬讗 讛诪拽讜诐 砖转讙讬注讜 讗诇讬讜 讘住讜祝 拽讜专住 讟讜讘 讗讜 讗讞专讬 拽专讬讗转 讻诪讛 住驻专讬诐 讜讘讬爪讜注 驻专讜讬拽讟讬诐 拽讟谞讬诐. 讝讛 讛诪拽讜诐 砖讗转讛 讻讘专 诪爪诇讬讞 诇讘谞讜转 转讜讻谞讬转 讘讟讻谞讜诇讜讙讬讛 讛讞讚砖讛 讗讘诇 讘诪讗诪抓. 注讚讬讬谉 注讜爪专 诇讛住转讻诇 讘转讬注讜讚 讻诇 讻诪讛 讚拽讜转, 注讚讬讬谉 诪讞驻砖 诇讛讬讝讻专 讘砖诐 讛驻讜谞拽爪讬讛, 注讚讬讬谉 诪注转讬拽 拽讟注讬诐 诪 Stack Overflow, 注讚讬讬谉 讚讘专讬诐 诇讗 注讜讘讚讬诐 诪讻诇 诪讬谞讬 住讬讘讜转 讜讗转讛 诇讗 诪讘讬谉 诇诪讛. 诇讻讗讜专讛 讛讻诇 注讜讘讚 讻诪讜 砖爪专讬讱 讗讘诇 讘诇讘 讗转讛 诪专讙讬砖 砖诇讻诇 讛讗讞专讬诐 讝讛 讛讜诇讱 讬讜转专 讘拽诇讜转. 讛诪讻砖讜诇 讛诪专讻讝讬 讘转讞谞讛 讝讜 讛讜讗 讛转讞讜砖讛 砖"讝讛 诇讗 讘砖讘讬诇讬", 讜砖讘砖讘讬诇 诇讛转拽讚诐 爪专讬讱 讗讬讝讛 讻讬砖专讜谉 讙讚讜诇 砖驻砖讜讟 诇讗 谞讜诇讚转讬 讗讬转讜.
4. 诇讗 讬讜讚注 砖讗谞讬 讬讜讚注 - 转讞谞讛 专讘讬注讬转 讜讗讞专讜谞讛 讘诇讬诪讜讚 讗诇讬讛 讗谞讞谞讜 诪讙讬注讬诐 讗讞专讬 讛转诪讚讛 讜讛诪砖讱 转专讙讜诇 讜讘谞讬讬转 注讜讚 讜注讜讚 驻专讜讬拽讟讬诐 讛讬讗 讛专讙注 砖讚讘专讬诐 驻砖讜讟 诪住转讚专讬诐. 讗转讛 讻讘专 诇讗 注讜爪专 诇讛住转讻诇 讘转讬注讜讚, 讗转讛 讻讘专 诇讗 爪专讬讱 讗转 讛讛砖诇诪讛 讛讗讜讟讜诪讟讬转 讜讗转讛 专讜讗讛 讗转 讛讚专讻讬诐 讛谞讻讜谞讜转 诇讙砖转 诇讘注讬讜转 讘爪讜专讛 讗讬谞讟讜讗讬讟讬讘讬转. 讛诪讻砖讜诇 讛诪专讻讝讬 讘转讞谞讛 讝讜 讛讜讗 讛转讞讜砖讛 砖讝讛 转诪讬讚 讛讬讛 讻讻讛, 砖讘注爪诐 讝讛 诇讗 讻讝讛 诪住讜讘讱 讜砖讻讜诇诐 讬讻讜诇讬诐 诇注砖讜转 讗转 讝讛, 讜诇砖讻讜讞 讗转 讻诇 讛讚专讱 讛讗专讜讻讛 砖注讘专转.
砖讬诪讜 诇讘 诇转讞谞讜转, 讘讗讬讝讜 转讞谞讛 讗转诐 讻专讙注 讜诇转讞讜砖讜转 砖讙讜专诪讜转 诇讻诐 诇专爪讜转 诇讘专讜讞. 讻讻诇 砖讗谞讞谞讜 讬讜转专 诪讜讚注讬诐 诇转讛诇讬讱 讻讱 拽诇 讬讜转专 诇讛转诪讬讚 讘讜 讜诇讛讙讬注 诇住讜祝.
谞.讘.
拽专讚讬讟 诇拽诇讜转讬诇讚 注诇 讛讛砖专讗讛 诇驻讜住讟 讝讛 讜诇讞讬讬诐 讘讻诇诇.
1 419
# 讟讬驻 专讬讗拽讟 讜讟讬讬驻住拽专讬驻讟: 转诪讬讚 讘讬讚拽讜 拽讜讚诐 砖 TS 讬讜讚注 诪讛 讛讟讬驻讜住
讗转诪讜诇 专讘转讬 注诐 讟讬讬驻住拽专讬驻讟. 讬砖讘谞讜 注诇 讛讚砖讗 诇讘讚. 讛讜讗 讗诪专 砖讛拽讜讚 讛讝讛 砖讙讜讬:
export default function App() {
const [data, setData] = React.useState();
function handleClick() {
setData({ value: _.random(10) });
}
return (
<div className="App">
{data && <p>Value is: {data.value}</p>}
<button onClick={handleClick}>Randomize</button>
</div>
);
}
讜讗谞讬 讞砖讘转讬 拽讜讚 谞讞诪讚. 转专讗讛 讟讬讬驻住拽专讬驻讟, 讗诪专转讬 诇讜, 讗驻讬诇讜 讗转讛 诪住讻讬诐 诇讛专讬抓 讗转 讛拽讜讚 讗诐 讘诪拽讜诐 讗讜讘讬拽讟 讗谞讬 讻讜转讘 砖诐 诪住驻专:
export default function App() {
const [data, setData] = React.useState();
function handleClick() {
setData(_.random(10));
}
return (
<div className="App">
{data && <p>Value is: {data}</p>}
<button onClick={handleClick}>Randomize</button>
</div>
);
}
讗讘诇 讟讬讬驻住拽专讬驻讟 专拽 讞讬讬讱 讗转 讛讞讬讜讱 讛诪诪讝专讬 砖诇讜 讜讗诪专: 讗转讛 诇讗 转讙讬讚 诇讬 诪讛 转拽讬谉 讜诪讛 诇讗 转拽讬谉. 转讝讻讜专 诪讬 注讜讘讚 讘砖讘讬诇 诪讬 讘驻专讜讬拽讟 讛讝讛.
砖注转讬讬诐 诪讗讜讞专 讬讜转专 讛讘谞转讬 砖讟讬讬驻住拽专讬驻讟 爪讜讚拽. 砖诇讗 讬注讝讜专 诇讛转讜讜讻讞, 讜砖诇驻注诪讬诐 驻砖讜讟 爪专讬讱 诇注砖讜转 诪讛 砖爪专讬讱 诇注砖讜转. 讻砖诪讚讜讘专 讘讟讬讬驻住拽专讬驻讟 讝讛 讗讜诪专 转诪讬讚 诇讜讜讚讗 砖讟讬讬驻住拽专讬驻讟 讬讜讚注 诪讛 讛讟讬驻讜住讬诐 砖诇 诪砖转谞讬 讛住讟讬讬讟 砖诇谞讜. 讛谞讛 讛拽讜讚 砖砖讬诪讞 讗转 讟讬讬驻住拽专讬驻讟 讘住讜祝:
export default function App() {
const [data, setData] = React.useState<Record<string, any> | undefined>();
function handleClick() {
setData({ value: _.random(10) });
}
return (
<div className="App">
{data && <p>Value is: {data.value}</p>}
<button onClick={handleClick}>Randomize</button>
</div>
);
}