当前位置: 首页 > news >正文

有做软件的网站有哪些网站建设费能算作无形资产吗

有做软件的网站有哪些,网站建设费能算作无形资产吗,极速在线网站,北京网站设计公司济南兴田德润团队怎么样Yew的SSR模式推荐使用function_component组件,并且在function_component中使用hooks。其中,我使用到的第一个hook是use_state。use_state的设计意图与React中的useState非常相似,都是为了保存并修改当前的状态。然而,由于Yew是用R…

Yew的SSR模式推荐使用function_component组件,并且在function_component中使用hooks。其中,我使用到的第一个hook是use_state。use_state的设计意图与React中的useState非常相似,都是为了保存并修改当前的状态。然而,由于Yew是用Rust语言实现的,所以在具体使用上还是有一些差异的。

我的代码如下:

mod components;
mod models;
use components::TableComponent;
use models::TableRow;
use yew::prelude::*;#[function_component]
fn Content() -> HtmlResult {let modalVisible = use_state(|| false);let onclick = {let modalVisible1 = modalVisible.clone();Callback::from(move |_| modalVisible1.set(!*modalVisible1))};let onclose = {let modalVisible1 = modalVisible.clone();Callback::from(move |_| modalVisible1.set(!*modalVisible1))};Ok(html! {<div class="column"><div class="section row content-end"><Button text={"新建"} {onclick} /></div><TableComponent data={data}/><Modal1 show={*modalVisible} {onclose}/></div>})}#[function_component]
pub fn App() -> Html {let fallback = html! {<div>{"Loading..."}</div>};html! {<Suspense {fallback}><Content /></Suspense>}
}

在讨论差异前,首先看use_state的声明

pub fn use_state<'hook, T, F>(init_fn: F
) -> impl 'hook + Hook<Output = UseStateHandle<T>>
whereT: 'static,F: FnOnce() -> T,T: 'hook,F: 'hook,

UseStateHandle<T>的方法比较多,关于取值和赋值的方法如下:

fn set(&self, value: T);
fn deref(&self) -> &Self::Target;

关于差异,限于我的使用经验,我这里先提出3个地方。

1. 赋初值

给state赋初值的是FnOnce,它是Rust中的一个trait(特征),用于表示可以调用一次的闭包(Closure)。
因此,上面的代码也可以这样写:

    let init_data = || false;let modalVisible = use_state(init_data);

2. 状态读取

在上面的代码中,读取状态的代码如下:

<Modal1 show={*modalVisible} {onclose}/>

这个*号可以用deref()的方法来代替,这是因为UseStateHandle实现了core::ops::Deref trait。显然*使用更加方便,而且还不用显示引入core::ops::Deref;

需要注意的是,我们这里使用的是bool值,这种数据类型自动实现了Copy trait,因此,我们可以直接通过*modalVisible来使用它的值。如果是一个自定义的struct,那么这个struct要么也实现了Copy trait,要么实现了Clone trait。一般来说,我们可以直接通过#[derive(Clone)]来实现Clone trait,而实现Copy trait 则会比较麻烦。
因此,大多数情况,我们都会为struct实现Clone trait。所以,如果state是自定义的struct类型,我们要通过clone来获取它的值,例如\<TableComponent data={(*data).clone()}/>

在Reactjs中,直接通过解构useState的结果就可以拿到状态数据,相对简单得多呐。

3. 状态修改

使用set(&self, value: T) 方法来实现类似于React.js中的setXXX行为。但这里还是要提到clone()

    let onclick = {let modalVisible1 = modalVisible.clone();Callback::from(move |_| modalVisible1.set(!*modalVisible1))};let onclose = {let modalVisible1 = modalVisible.clone();Callback::from(move |_| modalVisible1.set(!*modalVisible1))};

我们在调用set方法之前,将modalVisible对象克隆了一份,否者会报所有权相关的错误。
另外,onclick和onclose这两段代码看似一样,但这两段代码在使用时有类型推断,因此如果复用onclick变量或者onclose变量,都会报类型错误。因此,还是要独立写成两份。这在ReactJs中是完全没有的事儿啊。

上面的内容比较粗浅。有不对的地方还希望大家多多指教。

http://www.yayakq.cn/news/249539/

相关文章:

  • 个人网站源代码下载大型购物网站服务器
  • 中国建设招聘网站甘肃分行招聘网站哪个好用
  • 外贸展示网站多少钱企业管理系统哪家好
  • 宿迁网站搭建网站建设推广总结
  • 小公司做网站的好处asp手机网站源码下载
  • h5网站制作视频重庆网站备案
  • 荣成市有做网站的吗高端用户群浏览网站
  • 企业免费网站系统网站赚钱方法
  • git网站开发广西建设信息网官网
  • 天津建设工程注册中心网站网站开发员需要什么素质
  • 江苏建设工程信息网站html个人网页完整代码展示
  • 个人可以做下载类网站吗响应式网站开发 三合一建站
  • 百度收录提交网站后多久收录郑州app定制开发公司
  • 建个网站有收为什么做域名跳转网站样式不见了
  • 网站建设描述怎么写网站建设与管理知识点
  • php网站虚拟机价格ps做网站首页步骤
  • 网站制作交易流程wordpress本地ftp
  • asp 企业网站管理系统个人网站需要备案吗
  • 常州营销网站建设洛宁网站建设
  • 不用服务器怎么做网站中山做百度网站的公司名称
  • 教育类网站开发精美的网站
  • wordpress朋友圈主题网站建设与优化标准
  • 做网站制作课程总结做网站赚钱缴税吗
  • 网站建设理论依据重庆做腋臭骑士网站
  • 绿韵建设有限公司网站故事式软文广告300字
  • 环保设备东莞网站建设环球旅行卡怎么用
  • jsp网站设计教学做一体化教程做兼职的设计网站有哪些工作
  • 网站互联网接入商网上网城网站
  • 织梦网站文章发布信息模板下载唐山工程建设信息网站
  • 网站吸引客户上海浦东注册公司