GVKun编程网logo

ReactNative仿《ONE》APP(react仿jira)

1

最近很多小伙伴都在问ReactNative仿《ONE》APP和react仿jira这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展ActionController::Routing

最近很多小伙伴都在问ReactNative仿《ONE》APPreact仿jira这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、Algorithm One Day One -- 判断链表是否有环 (上)、Algorithm One Day One -- 判断链表是否有环 (下)、Algorithm One Day One -- 约瑟夫环(丢手绢问题)等相关知识,下面开始了哦!

本文目录一览:

ReactNative仿《ONE》APP(react仿jira)

ReactNative仿《ONE》APP(react仿jira)

仿《ONE》APP又来了!

又写了一个《ONE》,别急呀,我可没copy上次写的代码~

这是用ReactNative写的《ONE》

基本界面都已经实现,当然了,有些地方图省事(搞不定) + 追求速度写的Demo,就自然会导致:

  1. 退而求其次的实现方式

  2. 代码结构可能不太规范/清晰

  3. 可能还有bug呢(我不听我不听)

项目地址 => https://github.com/liuzho/ONE-RN

我的个人主页 => https://liuzho.com

尽管Kotlin风光无限几乎对各大社区进行了屠版,但我还是冒着被淹没的风险把这个Demo发出来了,万一有人看呢(逃..

没事,ReactNative自有魅力!(各种技能全给你学了管你谁有魅力).....

这个Demo对你有没有帮助?

如果你初学RN,那么帮助可能有限,请你点个赞/点个star,以备后续学习

如果你是RN大牛,那么请你点个赞/点个star,慢慢看,慢慢嘲讽我

如果你有一丢丢RN基础,想练练手,那么请你点个赞/点个star,反正你也学不到啥略略略~~~

预览

当然了,国际惯例,甩预览图:

预览1

预览2

预览3

在你的电脑上运行

你需要这样做:

  1. git clone https://github.com/liuzho/ONE-RN.git

  2. cd ONE-RN

  3. npm install//切记不要用cnpm!亲测cnpm导致无法运行

  4. react-native run-ios or react-native run-android

理论上iOS(测试可用,部分组件如ToastAndroid不通用报黄)和Android都可以运行

项目情况

    "react": "16.0.0-alpha.6",
    "react-native": "0.44.0",
    "react-navigation": "^1.0.0-beta.9"
  1. StackNavigator / TabNavigator的使用

    你能看到的:底部Tab(TabNavigator)、第一个Tab内类似viewPager滑动(TabNavigator)、跳转到用户/搜索等界面(StackNavigator)
    
    为什么不用ViewPagerAndroid来实现第一个Tab内的滑动呢,因为这个组件在iOS不能用啊...GitHub应该有通用组件,我没有去找,用TabNavgation算了吧
    
  2. 组件信息传递props / nav的router携带数据params这些

    
    抽取了一个Toolbar组件,title的显示通过props/router搞定,StackNavigator的router(项目内appNavigation)通过props疯狂传递给各个界面/组件    
    
  3. 通用控件的抽取

    Toolbar、CdView等一些组件的抽取(我没有刻意去做这件事,可能有些应该抽取的控件我并没有很好的抽取出来)
    
  4. 动画Animated

    我承认其实就一个假循环旋转动画....CdView点击按钮旋转,以前总结过Animated知识点现在全忘了...
    
  5. WebView加载网页并插入JS代码

    Detail页面的内容,由于想快点完成Demo,也觉得界面写也就是一样的,就没自己实现,直接用了WebView加载相应的WebApp页面,然后通过`webView.injectJavaScript`插入我的JS代码,将内容中头部和底部一些不需要的地方全部通过`Element.reoveChild`给移除掉了
    
  6. ListView、fetch使用

    关于ListView、fetch的使用我有写过一篇文章:[ReactNative网络fetch数据并展示在listview中](http://www.jianshu.com/p/22de6734d858)
    
    那么为什么我没有在这个基础上实现下拉刷新、上拉加载、headerView、footerView呢?因为有一个FlatList完全支持这些做法!那又为什么我没有用FlatList呢?!因为在我发现FlatList的时候为时已晚,我已经不想再修改之前写了的代码了....[FlatList中文文档](http://reactnative.cn/docs/0.44/flatlist.html#content)
    
  7. 还有其他一些我一时也想不起来,你觉得都用到了啥?T_T求不打

  8. 感谢API哥们儿?这次你还冒出来不?

    API:戳这里=>**[ONE的API](https://github.com/jokermonn/-Api/blob/master/ONEv3.5.0~.md)**
    
    注:若侵犯《ONE》权利,我将及时删除所有相关内容
    
  9. 我将保持更新/优化一段时间,毕竟还有一些细节没完成,还有挺多需要优化的地方

结语

  • 更多内容欢迎访问我的主页我的博客

  • 觉得本文/本Demo对你有所帮助,请不要忘了点一下文末的"♡"让他变成"❤"

  • 当然,也别忘了Star一下我的仓库 => ONE-RN

  • 学习就是耐住寂寞不断踩坑,多动手敲就能有更多的知识经验和肩椎脊柱受损T_T

ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

如何解决ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

我正在Rails上执行此应用程序,页面加载正常,但在控制台中显示:

Started GET "/vendor/assets/stylesheets/bootstrap.min.css" for ::1 at 2020-08-17 09:09:51 -0500

Started GET "/vendor/assets/javascripts/bootstrap.min.js" for ::1 at 2020-08-17 09:09:51 -0500
ActionController::RoutingError (No route matches [GET] 
"/vendor/assets/stylesheets/bootstrap.min.css"):
ActionController::RoutingError (No route matches [GET] 
"/vendor/assets/javascripts/bootstrap.min.js"):

在我的供应商文件夹中,我同时拥有文件夹,javascript和样式表,并分别位于各自的bootsrtrap.min中。 即使在application.html.erb中,我也有以下内容:

  <link href="vendor/assets/stylesheets/bootstrap.min.css" rel="stylesheet">
  <%= csrf_Meta_tags %>
  <%= stylesheet_link_tag    ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
  <%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>

</head>
<body>

  <!-- Navigation -->
  <nav>
    <div>
      <ahref="#">Instagram Clone</a>
      <buttontype="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
        <span></span>
      </button>
      <divid="navbarResponsive">
        <ul>
          <li>
            <ahref="#">Home
              <span>(current)</span>
            </a>
          </li>
          <li>
            <ahref="#">About</a>
          </li>
          <li>
            <ahref="#">Services</a>
          </li>
          <li>
            <ahref="#">Contact</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

  <!-- Page Content -->
  <div>
    <div>
      <div>
        <%= yield %>
      </div>
    </div>
  </div>

  <!-- Bootstrap core JavaScript -->
  <!--<script src="vendor/jquery/jquery.slim.min.js"></script>-->
  <script src="vendor/assets/javascripts/bootstrap.min.js"></script>
    
</body>
</html>

在js和CSS这两个应用程序文件中,我都放置了“ require bootsrtrap.min”,即使该错误仍然出现在控制台中。 会是什么?

解决方法

RoR不使用目录作为文件夹结构指示。因为有资产装载者。您应该将5s或更少的css导入application.css中,并将js导入application.js中。并使用自己的助手添加捆绑文件:

1。用纱安装靴子

yarn add bootstrap @popperjs/core jquery

npm i bootstrap @popperjs/core jquery

栏位不超过5

2。在Assets Pipeline中导入文件

app / assets / stylesheets / application.css:

//...
require bootstrap/dist/css/bootstrap.min
//...

但是,如果需要,我建议使用SCSS并仅导入所需的样式。

app / assets / javascript / application.js:

//...
//= require jquery
//= require @popperjs/core
//= require bootstrap/dist/js/bootstrap.min
//...

3。在布局中导入资产

app / views / layout / application.html.erb:

<head>
...
  <%= stylesheet_link_tag ''application'',media: ''all'' %>
</head>
<body>
...
  <%= javascript_include_tag ''application'' %>
</body>

使用webpack滚动6

2。在application.scss和application.js中导入Bootstrap

app / javascript / stylesheets / application.scss:

//...
import ''bootstrap''
//...

app / javascript / packs / application.js:

import ''jquery''
import ''popper.js''
import ''bootstrap''
import ''../stylesheets/application''

3。在布局中导入捆绑包

<head>
...
  <%= stylesheet_pack_tag ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
  <%= javascript_pack_tag ''application'',''data-turbolinks-track'': ''reload'' %>
</head>

之后,您应该可以在所有应用程序中使用引导程序!

,

[解决方案]因此,在我的HTML(application.html.erb)内部,我有两个对js和css文件的调用:

<script src="assets/javascripts/bootstrap.min.js"></script>
  <%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>       
<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">
  <%= csrf_meta_tags %>
  <%= stylesheet_link_tag    ''application'',''data-turbolinks-track'': 
  ''reload'' %>

正如您在上面看到的那样,在使用javascript的情况下,我有一个使用脚本的调用,而另一个使用了的调用,两者都造成了问题,所以您只需要评论一个,我就对该脚本进行评论对于我的java文件和CSS文件,一个。 像这样:

  <!--<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">-->
    <!--<script src="assets/javascripts/bootstrap.min.js"></script>-->

对我来说,解决了这个问题,我真的尝试了所有事情,这就是解决方案哈哈。

Algorithm One Day One -- 判断链表是否有环 (上)

Algorithm One Day One -- 判断链表是否有环 (上)



Is a loop ? Question descrip as follows :

        Assume that wehave a head pointer to a link-list. Also assumethat we know the list is single-linked. Can you come up an algorithm to checkwhether this link list includes a loop by using O(n) time and O(1) space wheren is the length of the list? Furthermore, can you do so with O(n) time and onlyone register?

/********************************************************************  
created:2015年1月22日 00:54:56     
author: Jackery      
purpose: Is there a loop ?
*********************************************************************/    
#include"stdafx.h"
#include<iostream>
using namespace std;

typedef struct node
{
	int data;
	 struct node *next;
}Node,*pNode;

Node *Create(int *numNode)
{
	//创建一个链表	
	Node *head,*tail,*cnew;	
	head=NULL;	
	int num;	
	cout <<"输入数据(以#键结束):" << endl;
	while(1 )
	{
	cin >>num ;	
	if(''#''==getchar())
	//以#键表示输入结束	  
	break;
	cnew=new  Node;;	
	cnew->data=num;	 
	cnew->next=NULL;	
	if(head==NULL)
		//若为空则将头节点指向新节点	 
		head=cnew;
	else	 
	   tail->next=cnew;
	//将当前节点的next指向新的节点	
	tail=cnew;	
   (*numNode)++;	
	}
	return head;}

/*判断是否有环思路概述:分别定义步长为1和2的指针fast and slow
指向头结点,if无环,则fast先走到终点;如果链表长度为奇数时,
fast->Next为空;当链表长度为偶数时,fast为空*/

bool isLoop(pNode  pHead)
{
	pNode fast = pHead;
	pNode slow = pHead;
	while( fast != NULL && fast->next != NULL)
	{
		fast = fast->next->next;
		slow = slow->next;
		//如果有环,则fast会超过slow一圈
		if(fast == slow)
		{
			break;
		}
	}

	if(fast == NULL || fast->next == NULL  )
	{
		cout <<"Wow,there is not loop in the list "<< endl;
		return false;
	}
	else
	{
		cout <<"Yeah,there is loop in the list " << endl;
		return true;
	}
}
int main(int argc ,char * argv[])
{
	int numnode=0;
	//初始化将节点个数初始化为零
   pNode head=NULL ;
   	cout <<"链表head的节点个数为: "  <<endl;
   cin >>numnode;
	head=Create(&numnode);	
    isLoop(head);
	return 0;
}


Algorithm One Day One -- 判断链表是否有环 (下)

Algorithm One Day One -- 判断链表是否有环 (下)

在 Is there a loop (上) 中,我们判断了一个单向链表有没有环,接下来我们继续探索 if 有环,环的长度以及环的入口点。限于篇幅,再次不贴完整代码!

/********************************************************************  
created:2015年1月23日  00:34:45   
author: Jackery      
purpose: Is there a loop ? 《Continue》
*********************************************************************/    
//计算环的长度
/*对于其中的stepfast与stepslow能与能相遇这个问题,不太好理解,涉及到
类似欧拉回路的问题,胡运权的运筹学上面有相关类似讲解,不过
你完全可以写个小demo去验证,对于这个换是奇数、偶数我都验证了
,都是可行的*/
int LoopLength(pNode pHead)
{
	if(isLoop(pHead) == false)
		return 0;
	pNode stepfast = pHead;
	pNode stepslow = pHead;
	int length = 0;
	bool begin = false;
	bool agian = false;
	while( stepfast != NULL && stepfast->next != NULL)
	{
		stepfast = stepfast->next->next;
		stepslow = stepslow->next;
		//超两圈后停止计数,跳出循环
		if(stepfast == stepslow && agian == true)
			break;
		//超一圈后开始计数
		if(stepfast == stepslow && agian == false)
		{			
			begin = true;
			agian = true;
		}

		//计数
		if(begin == true)
			++length;

	}
	return length;
}

//求出环的入口点
Node* FindLoopEntrance(pNode pHead)
{
	pNode stepfast = pHead;
	pNode stepslow = pHead;
	while( stepfast != NULL && stepfast->next != NULL)
	{

		stepfast = stepfast->next->next;
		stepslow = stepslow->next;
		//如果有环,则stepfast会超过stepslow一圈
		if(stepfast == stepslow)
		{
			break;
		}
	}
	if(stepfast == NULL || stepfast->next == NULL)
		return NULL;
	stepslow = pHead;
	while(stepslow != stepfast)
	{
		stepslow = stepslow->next;
		stepfast = stepfast->next;
	}

	return stepslow;
}



Algorithm One Day One -- 约瑟夫环(丢手绢问题)

Algorithm One Day One -- 约瑟夫环(丢手绢问题)

算法是编程的灵魂,是编程思想的精髓————Algorithm One Day One


/******************************************************************** 
created:2015年1月20日 23:06:46    
author: Jackery     
purpose: Joseph problem 
*********************************************************************/  
#include"stdafx.h"
#include<iostream>
using namespace std;

typedef struct _Node
{
	int data;
	struct _Node*next;
} node_t;

typedef struct _Linklist
{
	node_t*phead;
	node_t*ptail;
	int len;
}Linklist;
static node_t*GetNode(int i )//新建并初始化节点
{
	node_t*pNode;
	pNode=new node_t;
	if(!pNode)
	{
		cout <<"内存分配失败" <<endl;
		exit(-1);
	}
	pNode->data=i;
	pNode->next=NULL;
	return pNode;
	delete pNode;
}
void init_list(Linklist*plist)//用第一个节点初始化循环单链表
{
	node_t*p;
	p=GetNode(1);
	//printf("TheNewNodeis:%d\n",p->data);//****TEST****
	plist->phead=p;
	plist->ptail=p;
	p->next=plist->phead;
	plist->len=1;
}

//把其余数据添加到循环单链表中
static void Create_List(Linklist*plist,int n)
{
	int i=0;
	node_t*pNew;
	for(i=2;i<=n;i++)
	{
		pNew=GetNode(i);
		/********TEST********
		cout <<"The New Node is:" <<pNew->data << endl;
		********TEST********/
		plist->ptail->next=pNew;
		plist->ptail=pNew;
		pNew->next=plist->phead;
		plist->len++;
	}
}
//输出链表内容
// void Print_List(Linklist*plist)
// {
// 	node_t*pCur=plist->phead;
// 	do
// 	{
// 		cout << "The "<<  pCur->data <<"person."  <<endl;
// 		pCur=pCur->next;
// 	}while(pCur!=plist->phead);
// 	cout << "The length of the List "<< plist->len<< endl;;
// }

//Joseph function implement
void joseph(Linklist* plist,int m,int k)
{  
	node_t *pPre=plist->ptail;
	node_t *pCur=plist->phead;
	int i,j;
cout << "出队列的顺序依次为: "<< endl;
	while(plist->len != 1)
	{
		i=0;
		j=0;
		while(j<k-1)
		{
			pPre=pPre->next;
			j++;
		}
		while(i< m -1)
		{
			pPre=pPre->next;
			i++;
		}
		pCur=pPre->next;
		int temp=pCur->data;
	    cout <<"第 " << temp << "  个人 "<< endl ;
		pPre->next=pCur->next;
		free(pCur);
		plist->len--;
	}
	cout <<"第 " << pPre->data << " 个人" << endl; ;
	cout << "The last one is:" << pPre->data<< endl;
}
int main(int argc, char * argv[])
{
	int n=0;
	cout <<"约瑟夫环长度为 : "<<endl;;
	cin >> n;
	int m=0;
	cout << "每此数到m个时,此人出列"<<endl;
	int k;
    cin >> k;
	cout << "从第k 个开始数" << endl;
	cin >>m;
	Linklist pList;
	init_list(&pList);
	Create_List(&pList,n);
//	Print_List(&pList);
	joseph(&pList,m,k);
	return 0;
}




我们今天的关于ReactNative仿《ONE》APPreact仿jira的分享已经告一段落,感谢您的关注,如果您想了解更多关于ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、Algorithm One Day One -- 判断链表是否有环 (上)、Algorithm One Day One -- 判断链表是否有环 (下)、Algorithm One Day One -- 约瑟夫环(丢手绢问题)的相关信息,请在本站查询。

本文标签:

上一篇App 瘦身最佳实践 - 收藏集 - 掘金(app瘦身软件)

下一篇windows-phone-8 – Windows Phone 8.1 – MVVMLight – 为什么EventToCommad不工作?(windows event collector无法启动)